Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 而循环不使用$each_Javascript_Jquery_Arrays_Json - Fatal编程技术网

Javascript 而循环不使用$each

Javascript 而循环不使用$each,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,在上,我试图限制显示的图像数量。我尝试了下面的方法,但它总是崩溃 while (screenshots.length < 5) { $.each(images, function (i, el) { startHTML += "<a href=\"" + link + "\" title=\"" + title + "\">"; startHTML += "<img src=\"" +

在上,我试图限制显示的图像数量。我尝试了下面的方法,但它总是崩溃

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(屏幕截图。长度<5){
$。每个(图像、功能(i、el){
startHTML+=“”;
});
}
这些图像是从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);

        });
    });
var屏幕截图=$(“#最近的屏幕截图跨度”);
//获取屏幕截图,如果需要,我们可以通过这里的限制
$.getJSON(“gallery/getScreenshots.php”,函数(数据){
var startHTML=“”;
$。每个(数据、函数(i、图像){
var link=image.link;
var title=image.title;
var images=image.images;
$。每个(图像、功能(i、el){
startHTML+=“”;
});
});
html(startHTML);
});
});

我在这里做错了什么?

我认为,控制循环的变量不是递减/递增的。你可以试试类似的东西

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++;
}
var maxNumber=screenshots.length,c=0;
while(c
我认为,您并不是在递减/递增控制循环的变量。你可以试试类似的东西

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++;
}
var maxNumber=screenshots.length,c=0;
while(c
这是一个无限循环:

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(屏幕截图。长度<5){
$。每个(图像、功能(i、el){
startHTML+=“”;
});
}
while循环的条件涉及screenshots.length,但您从不在while循环中修改该值,因此如果该条件最初为真,则它在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>";

}
for(var i=0,len=Math.min(images.length,5);i
这是一个无限循环:

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(屏幕截图。长度<5){
$。每个(图像、功能(i、el){
startHTML+=“”;
});
}
while循环的条件涉及screenshots.length,但您从不在while循环中修改该值,因此如果该条件最初为真,则它在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>";

}
for(var i=0,len=Math.min(images.length,5);i
您的while循环永远不会结束数据是什么?您可以发布它的内容吗?数据是json结果,即link=title=threadtitle和images=imageurl@nowayyy:好的,有许多图像只有一个链接,您希望为每个链接显示5个图像。(一开始我有点困惑。)不,在div中只添加了5个图像。你的while循环永远不会结束什么是
data
?您可以发布它的内容吗?数据是json结果,即link=title=threadtitle和images=imageurl@nowayyy:好的,有许多图像只有一个链接,您希望为每个链接显示5个图像。(一开始这让我有点困惑。)不,在div中只有5张图片,它也被追加了。