結果として重複した画像が表示される理由について、私は非常に混乱しています。
これが私がjsfiddleに持っているコードです:
私はそれがasync
問題であるかもしれないと思っていました、それが検索する前に新しいページネーションを受け取りました、しかしそれを変えるために私は何ができますか?
ありがとうございました
エイデン
結果として重複した画像が表示される理由について、私は非常に混乱しています。
これが私がjsfiddleに持っているコードです:
私はそれがasync
問題であるかもしれないと思っていました、それが検索する前に新しいページネーションを受け取りました、しかしそれを変えるために私は何ができますか?
ありがとうございました
エイデン
問題は$.ajax()
、最初の呼び出しが終了する前に2番目の呼び出しが行われることです。
あなたがする必要があるのはこのような関数を設定することです:
var n = 0, pages = 2;
function displayImgs(url) {
$.ajax({
type: "GET",
dataType: "jsonp",
cache: false,
url: url,
success: function(data)
{
alert(data.pagination.next_url);
for(var i=0;i<data.data.length; i++)
{
$("#gallery").append('<img src="'+data.data[i].images.low_resolution.url+'" height="50" width="50">');
}
n++
if(n<pages) displayImgs(data.pagination.next_url);
}
});
}
ここで、n
は関数を呼び出す回数を確認するためにのみ使用され、pages
「ロード/表示」するページ数です。
次に、次のようなURLを使用してこの関数を1回呼び出す必要があります。
displayImgs(url);
そして、あなたはあなたが望むものを手に入れるべきです。
これがデモです。
一例を挙げると
url = data.pagination.next_url;
あなたの「成功」ブロックの外にあります。