2017-06-12 5 views
0

このコードブロックで何か不足していますが、わかりません。私は、要素がビューポート内にあるときを検出し、その要素にクラスを追加したいと考えています。私の数学的な存在:ページの要素の位置からウィンドウの高さを差し引いたものをページの下に置くと、ページの折り目と要素自体の距離になります。その距離がスクロールされた量以上の場合は、クラスを追加します。ビューポートでJQueryが検出された場合

var windowHeight = $(window).height(); 
var yPos = $(window).scrollTop(); 
var element = $('#element').offset().top; 

if(element - windowHeight >= yPos) { 
    $('#element').addClass('scrolled'); 
} else { 
    $('#element').removeClass('scrolled'); 
} 
+0

*私の数学:ページ上の要素の位置からウィンドウの高さを差し引いたものです。»*逆の方法を試してください:ウィンドウの高さからページ上の要素の位置を引いたものを試してください。数学的に話すと、より多くのチャンスがあります。 –

答えて

1

3行目にクローズ見積りがありません。

var element = $('#element).offset().top; 

それは次のようになります。var element = $('#element').offset().top;

私はあなたが正確に何が必要なのか知らない、あなたは自分のコード内で欠落しているものがあると述べました。だから私はちょうどこれをあなたに与えます。それが間違っている場合は、私の答えを無視してください。

+0

kimdungありがとうございます、あなたは正しいです、私はそれに応じて編集しますが、それは私の問題を解決しません。 - 私はそれに応じて編集しました。その点に関しては、他の要素もすべて引用符で囲む必要があります。 –

関連する問題