複数のプラグインがあることは知っていますが、どうすれば自分のプラグインを思い通りに動作させることができるのでしょうか。
ajaxLoadActivity
まず、ページの一番下までスクロールするときに、「もっと見る」ボタンで呼び出される関数をトリガーしたいと思います。
$(window).scroll(function() {
if ( $(window).scrollTop() >= ( $(document).height() - $(window).height() ) )
if ( $('ol.astream > .loadCount:last > li').attr('id') == "noMoreActivities" )
return false;
ajaxLoadActivity('bottom', true);
console.log('fired');
});
これを自分でやろうとすると、おそらく誰もが遭遇する問題があります。問題は、関数が複数回起動されることです。この関数ajaxLoadActivity
は、すべての ajax 処理を実行<li>
し、既存の に項目を追加します<ol>
。この機能は、「もっと見る」ボタンで使用するだけで完璧に機能します。
ただし、ページの一番下までスクロールするだけで同じ機能をトリガーするにはどうすればよいのでしょうか。しかし、私はそれを一度だけ呼び出したい-次に、ものがロードされるまで待ってから、底に再び到達した場合にのみ、関数を再度起動できるようにします。
そして、上記のサンプル コードに既にある例外があります。最後の要素の ID が の場合noMoreActivities
、関数を再度起動したくありません。アクティビティがなくなるからです。
関数を一度だけ起動して、リクエストが発生するまで待つ方法はありますか?