2012-09-11 90 views
2

我有一個Instagram API調用請求使用CrookedSpaces標記的圖像,當這些圖像返回時,我正在篩選數據,以確保只有來自某個用戶的圖像(使用他們的用戶ID)代碼如下:顯示某些用戶標識的某些標記的012 Instagram圖像某些標記

$(function() { 
$.ajax({ 
    type: "GET", 
    dataType: "jsonp", 
    cache: false, 
    url: "https://api.instagram.com/v1/tags/crookedspaces/media/recent/?count=100&access_token=TOKEN", 
    success: function(data) { 
     for (var i = 0; i < 31; i++) { 
      var igUID = data.data[i].user.id; 
      if(igUID === "USER ID") { 
       $(".instagram").append("\ 
        <div class='instagram-feed'>\ 
         <img class='instagram-image' src='" + data.data[i].images.standard_resolution.url +"' width='325px' alt='" + data.data[i].user.id + " " + igUID + "' onMouseOver=\"toggle_visibility('igImageHover" + i + "');\"/>\ 
          <div class='igHover' id='igImageHover" + i + "' onMouseOut=\"toggle_visibility('igImageHover" + i + "');\">\ 
          <div class='igHover2'>\ 
           SMALL TEST!\ 
          </div />\ 
          </div>\ 
        </div>\ 
       "); 
      } else { 
        console.log("Else portion of code ran " + elseCount + " time(s)."); 
        ++elseCount; 
       } 
     }     
    } 
}); 
}); 

但是,我只能夠顯示27個圖像,因爲有4個圖像未由該特定用戶ID發佈。有沒有辦法強制for循環不增加?或者從我減去1而不將代碼發送到無限循環?

這裏是的jsfiddle - http://jsfiddle.net/UQcZP/

+0

你能發佈[JS小提琴(HTTP://jsfiddle.demo),我們可以一起工作? –

+0

可能會使用返回的數組的大小作爲條件,並在用戶ID匹配時增加計數器,然後當您擁有所需數量的圖像時跳出循環 – MrOBrian

回答

0

你可以使用一個while循環:

var i = 0; 
var used=0; 
while (used<31) 
{ 
    if (i < data.data.length){ 
    // .. Do your work here 
    // only increment used when you actually get a match 
    } 
    else 
    { 
    // Here we are past the end of the data and did not reach the 30 items, 
    // so just set the number of items to 31 to exit the loop. 
    used = 31; 
    } 
    i++;  
}​ 
+0

此答案完美工作,但是我找到了不同的路由編碼。 想象我至少可以投票/關閉這個問題。 – tbremer