2012-04-12 86 views
1

我想从一个javascript数组中显示六个图像。运行下面的代码我没有得到任何结果,它似乎无法正常工作。我不知道我的错在哪里。从一个数组中显示图像

下面是javascript代码:

var backgroundImage = new Array(); 
backgroundImage[0] = "images/colors-wallpaper.jpg"; 
backgroundImage[1] = "images/florida-birds.jpg"; 
backgroundImage[2] = "images/focus-on-life.jpg"; 
backgroundImage[3] = "images/set-into-life.jpg"; 
backgroundImage[4] = "images/dandelion.jpg"; 
backgroundImage[5] = "images/flowers.jpg"; 
backgroundImage[5] = "images/flowers.jpg"; 

function displayAllImages() { 
// Here has to be some error!!! // 
for (i=0;i<backgroundImage.length;i++) { 
    document.write("<li><img src='" + backgroundImage[i] + "' width="160" height="120"/><span>" + backgroundImage[i] + "</span></li>"); 
} 
} 

这就是我的html代码:

<html> 
<head> 
    <script type="text/javaScript" src="changebackground.js"></script> 
</head> 
<body> 

<div id="container"> 

    <div class="backgoundImage"> 
    <ul> 
     <script>displayAllImages();</script> 
    </ul> 
    </div> 

</div> 

</body> 
</html> 
+1

用萤火虫或类似的检查 – scibuff 2012-04-12 10:49:40

+0

我得到错误未捕获ReferenceError:displayAllImages未定义(匿名函数)!什么原因?? – 2012-04-12 10:58:33

+0

@Philipp布劳恩:因为你有这个功能的语法错误(请参阅我的答案,你应该改变引号,这应该对你有帮助)。 – SlavaNov 2012-04-12 11:00:34

回答

5

变化

width="160" height="120" 

width='160' height='120' 

document.write("<li><img src='" + backgroundImage[i] + "' width="160" height="120"/><span>" + backgroundImage[i] + "</span></li>"); 

您正在使用错误的引号

2

你的最后一个数组项重点应该是6(我也算为同一值这是一个复制/粘贴错误),我会强烈建议反对使用document.write这样的东西。检查链接,看看有什么我想你想实现,但在一个稍微更清洁的方式完成(演示使用jQuery只是针对DOM就绪处理)

http://jsfiddle.net/UnFUB/

+0

唯一足够理智的不用'document.write'。 – 2015-04-07 08:38:26

0

你需要逃避你的双引号,见下图:

document.write("<li><img src='" + backgroundImage[i] + "' width=\"160\" height=\"120\"/><span>" + backgroundImage[i] + "</span></li>"); 
-1
document.write("<li><img src='" + backgroundImage[i] + "' width='160' height='120'/><span>" + backgroundImage[i] + "</span></li>"); 

您在引号中的错误。但最好不要使用document.write beeter的方法是在内存中创建一个元素,然后把它放在这个块中。它看起来如何jQuery