2017-09-21 8 views
2

高さが100ピクセルのdivタグがあり、overflow-yがautoに設定されています。私は、スクロールが下端に達しているかどうかを確認するjqueryコードをいくつか書いています。私は、私が取り組んでいる無限のスクロールプロジェクトにこれを使用しています。クロムのdivをスクロールする方法を計算するには?

これはFirefoxではうまく動作するようですが、Chromeではうまく動作しないようです。 Chromeでうまくいかない理由を知っている人はいますか?

以下は私のコードです。必要な値が402であるので、あなたは切り上げることを確認したときに

<script> 

$("#scroll").scroll(function() { 

    var content = $(this).scrollTop() + $(this).innerHeight(); 

    if (content == $(this)[0].scrollHeight) { 

     // $("span").css("display", "inline").fadeOut("slow"); 
     console.log("reach end"); 

    } 
}); 



</script> 


     <style> 
     #scroll{ 

    max-height: 100px; 
    overflow-y: auto; 
    width: 647px; 
    margin: auto; 
     } 
    </style> 


<div id='scroll'> 
<p>hello world</p> 
<p>hello world</p> 
<p>hello world</p> 
<p>hello world</p> 
<p>hello world</p> 
<p>hello world</p> 
<p>hello world</p> 
<p>hello world</p> 
<p>hello world</p> 
<p>hello world</p> 
<p>hello world</p> 

</div> 

答えて

1

はChromeが高さを与えた値を見ると、それは今まで(in this example)401.81817626953125に達します。

var content = Math.ceil($(this).scrollTop() + $(this).innerHeight()); 

は値が高くなって念のため、私はまた、

if (content >= $(this)[0].scrollHeight) { 
+0

うわーまで以上に、この行を変更します!ありがとうございました!!それはうまくいった! – json