Javascript 如何处理jQuery(窗口)。在jQuery中高效地滚动函数?
这是我当前的代码,感觉不是很有效,如果使用定时器/超时,可能会更好。然而,我不知道该怎么做 有人能帮忙吗?使用javascript效率不高。我的JS在休假Javascript 如何处理jQuery(窗口)。在jQuery中高效地滚动函数?,javascript,jquery,angularjs,angularjs-directive,Javascript,Jquery,Angularjs,Angularjs Directive,这是我当前的代码,感觉不是很有效,如果使用定时器/超时,可能会更好。然而,我不知道该怎么做 有人能帮忙吗?使用javascript效率不高。我的JS在休假 app.directive('ScrollBar', function () { return { restrict: 'A', scope: {}, link: function postLink(scope, elem, attrs) { jQuery(win
app.directive('ScrollBar', function () {
return {
restrict: 'A',
scope: {},
link: function postLink(scope, elem, attrs) {
jQuery(window).scroll(function(){
var SBar = jQuery("#ScrollStop").offset();
var screenPosition = jQuery(document).scrollTop() + window.innerHeight;
if (screenPosition < SBar.top) {
jQuery(".ScrollClass").fadeIn();
}
if (screenPosition >= SBar.top) {
jQuery( ".ScrollClass" ).fadeOut();
}
});
}
};
})
如果你能通过绑定滚动功能来区分滚动方向就好了,我有一把小提琴,希望对你有所帮助
就效率而言,看起来不错,但你可能想消除这些条件的影响,这样它就不会在每次滚动运动中消失。我该怎么做?
myApp.directive('scrolly', function () {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var lastScrollTop = 0;
var raw = element[0];
console.log('loading directive');
element.bind('scroll', function () {
console.log('in scroll');
if(raw.scrollTop < lastScrollTop)
{
alert("scroll up");
lastScrollTop = raw.scrollTop;
}
else{
lastScrollTop = raw.scrollTop;
}
if (raw.scrollTop + raw.offsetHeight > raw.scrollHeight) {
scope.$apply(attrs.scrolly);
}
});
}
};
});