2013-05-26 63 views
0

这是问题的Js提琴手,因为直到它运行,我不明白这可能是有道理的。 img src的循环和我通过它们循环,并将它们放入一个img.src并加载它们,然后追加到一个元素。我尝试了其他各种方法,但似乎无法正常工作,我不知道为什么会发生这种情况。这是jsfiddler的问题还是我的代码不正确?在for循环JavaScript for loop没有正确循环

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); 
+0

为+ 0的原因是,我想确保它不是我被保存的参考,但的实际值表达。它没有任何帮助。这也是我作为新var的原因。无论有没有它仍然没有工作; –

回答

1

删除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(图像列表[数字]);”如果你不想显示网址。

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++; 
} 
+0

我想通了。我不需要调用像音频和视频标签那样的加载函数 –

1

我在小提琴中试过这个,它工作。

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

enter image description here

+0

嗯也许我的屏幕很小..让我再次检查 –

+0

这些是图片。它只是不能在我的屏幕上工作,我不知道为什么 –

0

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

这是出了测试的东西最后的工作代码

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