0

正如 john resig 在他的博客中所暗示的那样,将处理程序附加到事件是一种非常非常糟糕的做法,如果我应该像主要网站那样使用这种方法,或者在页面末尾显示更多负载window.scroll以获取,我只是感到困惑更多内容。 div

我正在使用以下测试代码:

$(document).ready(function() {
            $(window).scroll(function () {
 if ($(window).scrollTop() >= $(document).height() - $(window).height() - 200) {
  alert('end of page');
     }
});
        });    

但是它的作用是,一旦触发该函数,滚动条就会开始出现异常行为,并且在移动鼠标时它会以某种方式继续滚动页面。

请帮助查找问题以及此功能的最佳实践。

4

1 回答 1

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

    }
}
于 2013-02-28T15:04:44.907 回答