ユーザーがページの一番下までスクロールしたときに、jQuery load()を使用してより多くのコンテンツをロードしています。これが私のスクリプトです。
$(window).scroll(function () {
if ($(window).scrollTop() >= $(document).height() - $(window).height()) {
var visible_posts = $('.post').length - 1;
$(".posts").append('<div class="more-content-'+ visible_posts + '"></div>');
$(".more-content-" + visible_posts).html('<div class="loading"><img src="/img/loading.gif" alt="" />');
$(".more-content-" + visible_posts).load('<?php bloginfo('template_directory'); ?>/ajax/get_posts.php?offset=' + visible_posts);
}
});
問題は、ユーザーのスクロールが速すぎると、奇妙な動作と多くのGIFの読み込みが発生することです。読み込みが完了する前でも、条件が満たされるたびにdivに読み込みdivが追加されるためだと思います。
質問は:
最初の実行後にスクリプトを停止する方法はありますか..load()を実行して...次に関数を再度有効にしますか?速すぎるクリックを無効にする場合は、クリックのバインドを解除するのと似ています。
何か案が?