Я программирую одностраничное приложение, используя структуру Angular. Я новичок в этом. Я прочитал это руководство, чтобы помочь мне понять фундаментальные различия между jQuery и Angular, и я хотел бы как можно больше следовать этому руководству и НЕ использовать jQuery.
За исключением того, что jQuery помогает обойти некоторые несовместимости браузера и предоставляет полезную библиотеку функций, например, возможность узнать верхнее положение элемента сверху окна, как в $('element').offset().top. Нет простого Javascript, похоже, можно подойти вплотную, не переписывая эту функцию, и в этот момент не лучше ли использовать библиотеку jQuery или jQuery?
В частности, то, что я пытаюсь сделать, это настроить директиву, которая фиксирует элемент на месте, когда верхняя часть его прокручивается до определенной позиции в окне. Вот как это выглядит:
directives.scrollfix = function () {
    return {
        restrict: 'C',
        link: function (scope, element, $window) {
            var $page = angular.element(window)
            var $el   = element[0]
            var elScrollTopOriginal = $($el).offset().top - 40
            $page.bind('scroll', function () {
                var windowScrollTop = $page[0].pageYOffset
                var elScrollTop     = $($el).offset().top
                if ( windowScrollTop > elScrollTop - 40) {
                    elScrollTopOriginal = elScrollTop - 40
                    element.css('position', 'fixed').css('top', '40px').css('margin-left', '3px');
                }
                else if ( windowScrollTop < elScrollTopOriginal) {
                    element.css('position', 'relative').css('top', '0').css('margin-left', '0');
                }
            })
        }
    }
}
Если в Angular есть гораздо лучший способ достичь этого, чего я еще не получаю, я буду благодарен за совет.
