Javascript for循环无法正确循环

时间:2013-05-26 17:13:35

标签: javascript for-loop increment

这是问题的Js Fiddler,因为在它运行之前,我看不出这可能有多大意义。 img src的循环和我循环遍历它们并将它们放在img.src中并加载它们然后追加到一个元素。我尝试了其他似乎不起作用的其他方法,我不知道为什么会这样。这是jsfiddler的问题还是我的代码不正确?

http://jsfiddle.net/shavyg2/GsQtn/embedded/result/

    /*Slide show*/
var container=$(".imageContainer");

var imageList=["http://blogs.adobe.com/captivate/files/2011/09/HTML5.jpg",               "http://www.hanselman.com/blog/content/binary/Windows-Live-Writer/HTML5-Support-for-Visual-Studio-2010---W_90C5/vshtml5_2.png",              "http://photos4.meetupstatic.com/photos/event/d/e/0/0/event_117656832.jpeg",               "http://e4dhtml5.azurewebsites.net/Content/html5man.jpg",               "http://la-matrice.org/wp-content/uploads/2013/02/css3.png"];

var count=0;
for(var i=0;i<imageList.length;i++){
    var image=new Image();
    var number=i+0;
    image.src=imageList[number];
    container.append(image);    
    container.append(imageList[number]);
    image.load();
    count++;
}

container.append(count);

4 个答案:

答案 0 :(得分:1)

删除for循环中的image.load()。

for(var i=0;i<imageList.length;i++){
    var image=new Image();
    var number=i+0;
    image.src=imageList[number];
    container.append(image);    
    container.append(imageList[number]);
    count++;
}

http://jsfiddle.net/6skav/

摆脱“container.append(imageList [number]);”如果你不想显示网址。

答案 1 :(得分:1)

http://jsfiddle.net/GsQtn/1/

这似乎符合您的意图。我认为问题出在你所有无关的image代码上。基本上我实现的循环如下所示:

for(var i=0;i<imageList.length;i++){
    var image = document.createElement("img");
    image.src=imageList[i];
    container.append(image);
    count++;
}

答案 2 :(得分:1)

我在小提琴中试过这个并且它有效。

for(var i=0;i<imageList.length;i++){
   var image=new Image();
   image.src=imageList[i];
  container.append(image);    
}

enter image description here

答案 3 :(得分:0)

这不起作用的原因是我正在调用image.load()函数。我习惯使用最近我正在做的音频和视频标签,你不需要为图像调用加载。 事实上,它没有那种方法。

这是没有测试内容的最终工作代码

  for(var i=0;i<imageList.length;i++){
    var image=new Image();
    image.src=imageList[i];
    container.append(image);    
    }