0

ここでの彼のブログのジョン・レシグは、ハンドラーをイベントにアタッチすることは非常に悪い習慣であると示唆しているので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 に答える