ページの一番下までスクロールすると、ページ上のより多くのアイテムをロードする関数を実行する関数を構築しようとしています。
コンテンツのないdivを入れることから始めました
<div id="loadMore"></div>
そして、ここでスクロールを見る別の関数を見つけました
function isScrolledIntoView(elem)
{
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
console.log(docViewTop, docViewBottom, elemTop, elemBottom);
return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom) && (elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
$(window).scroll(function() {
if(isScrolledIntoView($('#loadMore')))
{
alert("reached");
return false;
}
});
1つの問題は、アラートに到達するのが早すぎるように見えることと、もう1つの主な問題は、アラートが画面に何度も「到達」することです-機能を1回だけ実行したいので、これは明らかに悪いです...
次に、他のコンテンツにロードされ、ページの下部に再び到達した場合、機能(たとえば、アラート)が再び実行されます
私はこれについて最善の方法をとっていますか?誰でも助けることができますか?
ありがとう