0

次の問題があり3/4ます。ページをスクロールしたときに、何らかのイベントを実行する必要があります。私がする:

var limit_height = 3/4 * jQuery('body').height();

jQuery(window).scroll(function() {

        if (jQuery(window).scrollTop() > limit_height) {

                    alert('You are scrolled 3/4 of page!');

       }

});

だから、コンソールを見ると(私は current をチェックしますscrollTop

現在scrollTop < 3/4 * body_height(つまりlimit_height)の場合、私はより多くの時間を持っています。したがって、イベントは実行されません。

可能であれば、エラーがある場合は助けてください。

4

1 に答える 1

0

ここで発生するのは、計算でウィンドウの高さが除外されていることです。そのため、ページを 3/4 を超えてスクロールする場合、ビュー ポートに比べてページの高さが非常に大きい場合を除いて、既に最大 scrollTop になっています。

これを修正する方法は次のとおりです。

limit_height = 3/4 * (jQuery('body').height() - jQuery(window).height());
jQuery(window).scroll(function() {
        if (jQuery(window).scrollTop() > limit_height) {
                    alert('You are scrolled 3/4 of page!');
       }
});

上記の計算では、ウィンドウの高さは除外されます。ボディの高さが2000pxで、ビュー ポートの高さが700pxであるとします。計算によると、制限は1500pxですが、ビューポート自体内でスクロールダウンできないため、最大スクロールトップは1300pxであり、条件が満たされることはありません。

于 2012-10-09T05:29:24.467 に答える