正如john resig在他的博客here中所说的那样,将处理程序附加到window.scroll
事件是非常非常糟糕的做法,如果我应该求助,我感到很困惑这种方法与主要网站一样,或在页面末尾显示加载 div
以获取更多内容。
我正在使用以下测试代码:
$(document).ready(function() {
$(window).scroll(function () {
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 200) {
alert('end of page');
}
});
});
但它的作用是,一旦函数被触发,滚动条就会开始行为不端,并且在移动鼠标时它会以某种方式滚动页面。
请帮助找到问题以及此功能的最佳做法。
答案 0 :(得分:0)
我对这个比较运气好了:
$(window).scroll(function () {
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 65) {
alert('end of page');
}
});
希望这可以解决您的问题,如果不能解决导致麻烦的滚动行为?
<强>更新强>
$(window).on('scroll', function () { do_things(); });
function do_things(){
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 65) {
// Unbind the scroll
$(window).off('scroll');
// Log a message
console.log('do some things here');
// Wiat for 10 seconds
setTimeout(function() {
// Rebind the scroll
$(window).on('scroll', function () { do_things(); });
}, 10000);
}
}