2012-05-02 10 views
3

私はif関数を実行しています。このように偉大なページの下に

if($(window).scrollTop() + $(window).height() == $(document).height()) {} 

しかし、私はそれが前に少し前に実行したい - 約300px前に。

私は無駄に

if($(window).scrollTop() + $(window).height() + 300 == $(document).height()) {} 

if($(window).scrollTop() + $(window).height() == $(document).height() -300) {} 

、他のすべてのバリエーションを試してみました。

また、私は間違って何をやっている。

var plusheight = 300; 

if($(window).scrollTop() + $(window).height() + plusheight == $(document).height()) {} 
if($(window).scrollTop() + $(window).height() + $plusheight == $(document).height()) {} 
if($(window).scrollTop() + $(window).height() + "plusheight" == $(document).height()) {} 

に変数を入れて試してみましたか?

+3

それが下の上に正確に300ピクセルを取得するのは難しい... –

+2

まさに下から-300pxするためにユーザーがスクロールするのは難しいです。 '>'より大きいか、 '<'より小さい値を使うべきです。 –

答えて

11

不等式を使用してください。それは、あなたのスクロールトップが、あなたが比較している正確な値よりもすぐにジャンプしている可能性が非常に高いです。

if($(window).scrollTop() + $(window).height() >= $(document).height() -300) {} 
+0

もちろん、とてもシンプルです。それを見た後、長い間ロジックが窓から飛び出し始めていました。ありがとう。 – James

関連する問題