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张图片,它也被追加了。