2012-03-01 10 views
0

에서 this page 표시되는 이미지의 양을 제한하려고합니다. 나는 다음과 같은 시도했지만 탭을 계속 충돌.

while (screenshots.length < 5) { 
    $.each(images, function (i, el) { 
        startHTML += "<a href=\"" + link + "\" title=\"" + title + "\">"; 
        startHTML += "<img src=\"" + el + "\" alt=\"\" width=\"200px\" height=\"200px\">"; 
        startHTML += "</a>"; 
       }); 
} 

이미지는 JSON .. 전체 코드에서 당겨지고 :

var screenshots = $('#recent-screenshots span'); 



     // get screenshots we can pass limit here if we want 
     $.getJSON("gallery/getScreenshots.php", function (data) { 
      var startHTML = ""; 
      $.each(data, function (i, image) { 
       var link = image.link; 
       var title = image.title; 
       var images = image.images; 

       $.each(images, function (i, el) { 
        startHTML += "<a href=\"" + link + "\" title=\"" + title + "\">"; 
        startHTML += "<img src=\"" + el + "\" alt=\"\" width=\"200px\" height=\"200px\">"; 
        startHTML += "</a>"; 
       }); 


      }); 
      screenshots.html(startHTML); 

     }); 
    }); 

은 내가 잘못 여기서 뭐하는 거지?

+3

당신의 while 루프는 결코 어쨌든'data' 무엇 – scibuff

+0

을 종료하지를 수행하여 해결할 수 있습니까? 그 내용을 게시 할 수 있습니까? – Tomalak

+0

데이터는 json 결과입니다. link = http : //site.com title = threadtitle 및 images = imageurl – nowayyy

답변

1

내가 생각하는 루프를 제어하는 ​​변수를 감소 시키거나 증가시키지 않습니다. 당신이 무한 루프입니다

var maxNumber = screenshots.length, c = 0; 
while (c < maxNumber) { 
    $.each(images, function (i, el) { 
        startHTML += "<a href=\"" + link + "\" title=\"" + title + "\">"; 
        startHTML += "<img src=\"" + el + "\" alt=\"\" width=\"200px\" height=\"200px\">"; 
        startHTML += "</a>"; 
       }); 
     c++; 
} 
2

뭔가를 시도 할 수 :

while (screenshots.length < 5) { 
    $.each(images, function (i, el) { 
        startHTML += "<a href=\"" + link + "\" title=\"" + title + "\">"; 
        startHTML += "<img src=\"" + el + "\" alt=\"\" width=\"200px\" height=\"200px\">"; 
        startHTML += "</a>"; 
       }); 
} 

while 루프에 대한 귀하의 조건이 screenshots.length을 포함,하지만 당신은 while 루프 내부에 그 값을 수정하지 않을 조건 그렇다면 처음에는 true이고 while 루프에서는 영원 토록 유지됩니다.

당신은 이미지를 수동으로 반복 단지 길이의 작은 또는 5

for (var i = 0, len = Math.min(images.length, 5); i < len; i++) { 
    startHTML += "<a href=\"" + link + "\" title=\"" + title + "\">"; 
    startHTML += "<img src=\"" + images[i] + "\" alt=\"\" width=\"200px\" height=\"200px\">"; 
    startHTML += "</a>"; 

} 
관련 문제