ユーザーがスクロールしてページのほぼ下部、たとえば下部から約100ピクセルに到達したときに、イベントがより多くのコンテンツをロードするようにしたいのですが、問題は、ページの下部100ピクセルをスクロールするたびにイベントが発生することです。明らかな理由で、これは起こり得ない明らかな問題です。どうすればこれを最善にできるのか疑問に思います。ここで他の回答/質問を確認しましたが、部分的に機能する1つの解決策は必要なものに適合しません。やろうとすると、変更しようとすると、毎回ブラウザが完全にフリーズします。これが質問です: ユーザーが一番下までスクロールしたかどうかを確認します
私が見ている答えは一番下にありますが、彼が提案するコードは次のとおりです。
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
$(window).unbind('scroll');
alert("near bottom!");
}
});
私が言ったように、これは機能し、複数のイベントが発生するのを防ぎます。問題は、イベントを無限に発生させる必要があることです。たとえば、一番下に到達したときに100行の情報をロードしますが、まだ1500行あります。 、すべての量の情報をロードするために毎回繰り返す必要があります(毎回ページの下部100pxの部分に到達したら)
だから私がやろうとしたことは:
function loadMore()
{
alert("More loaded");
$(window).bind('scroll');
}
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
$(window).unbind('scroll');
loadMore();
}
});
私が言ったように、これは毎回すぐに私のブラウザをフリーズさせます、バインディング部分。