gpt4 book ai didi

javascript - 如何在 jQuery 中高效处理 jQuery(window).scroll 函数?

转载 作者:行者123 更新时间:2023-12-03 05:04:46 25 4
gpt4 key购买 nike

这是我当前的代码,感觉效率不是很高,如果使用计时器/超时可能会更好。但是,我不知道如何去做。

有人可以帮忙吗?使用 JavaScript 效率不高。我的 JS 人员正在休假。

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();
}
});
}
};
})

最佳答案

如果能通过绑定(bind)滚动函数来区分滚动方向就好了,我有一个 fiddle ,希望对你有帮助。

http://jsfiddle.net/kavinhuh/17hca7wa/

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);
}
});
}
};
});

关于javascript - 如何在 jQuery 中高效处理 jQuery(window).scroll 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42056298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com