Web サイトに無限スクロールを追加するためにjQuery ScrollExtend プラグインを使用しています。このプラグインを訴える構文は次のとおりです。
jQuery('#actualResults').scrollExtend({
'target' : '#actualResults',
'url' : 'some url',
'newElementClass' : 'ajaxArticles'
});
onSuccess
オプションで、このプラグインは options 配列に追加することでコールバックを取ることができます。
jQuery('#actualResults').scrollExtend({
'target' : '#actualResults',
'url' : 'some url',
'newElementClass' : 'ajaxArticles',
‘onSuccess’ : 'some callback'
});
したがって、URL を除いて、これらの設定は必要なとおりですが、URL の設定に問題があります。
基本的に、URL は次の形式を取る必要があります。
callSearch.php?scope=web&q=the+query&page=1&offset=51
URL を構成するための情報を取得することは難しくありません。
var offset = parseInt($(document).getUrlParam("offset"))
if (isNaN(offset))
offset = 51;
else
offset += 51;
var query = $(document).getUrlParam("q");
var scope = $(document).getUrlParam(”scope”);
var url = 'callSearch.php?scope=' + scope + '&q=' + query + '&offset=' + offset;
したがって、初期 URL を設定するのは簡単です。
jQuery('#actualResults').scrollExtend({
'target' : '#actualResults',
'url' : url,
'newElementClass' : 'ajaxArticles'
});
しかし、この最後の段階も問題url
です。51 がオフセットに追加されるように、各実行後に更新するにはどうすればよいでしょうか? たとえば、最初の URL は次のようになります。
callSearch.php?scope=web&q=the+query&page=1&offset=51
そして2番目:
callSearch.php?scope=web&q=the+query&page=1&offset=102
広告など。これを行うにはコールバックを使用する必要があると思いますか? これを機能させるために、誰かが私を正しい方向に向けるのを手伝ってもらえますか?
進捗
私は今、この問題に取り組み始めています。オフセット変数と URL 変数を更新するコールバック関数がありますが、プラグインはこれらの新しい値を取得していないようです。私の完全な JavaScript は次のようになりました。
jQuery(document).ready(
function() {
var offset = parseInt($(document).getUrlParam("offset"))
if (isNaN(offset))
offset = 51;
else
offset += 51;
var query = $(document).getUrlParam("q");
var scope = $(document).getUrlParam("scope");
var url = 'callSearch.php?scope=' + scope + '&q=' + query + '&offset=' + offset;
jQuery('#actualResults').scrollExtend({
'target' : '#actualResults',
'url' : url,
'newElementClass' : 'ajaxArticles',
'onSuccess' : function() {
offset += 51;
url = 'callSearch.php?scope=' + scope + '&q=' + query + '&offset=' + offset;
runLog();
}
});
function runLog() {
console.log(offset);
console.log(url);
}
}
);
ですから、ここでの質問は、これらの更新された変数をプラグインに表示させる方法だと思いますか?
このスタック オーバーフロー スレッドは、現在の問題に関連しているようです。明日レビューしますが、今は家に帰る時間です。