我创建了一组图像
function initialize(){
//add our 10 images to our array
imgArray[imageNum++] = new imageItem(imageDir + "img1.jpg");
imgArray[imageNum++] = new imageItem(imageDir + "img2.jpg");
imgArray[imageNum++] = new imageItem(imageDir + "img3.jpg");
}
var totalImgs = imgArray.length;
然后我在我的 html 文件中创建一个与 a 链接的函数:
<button id="startButton" onclick="startImage()">Start</button>
function startImage(){
document.getElementById("pic").setAttribute("src", imgArray[0].src);
}
我的图片标签: <img id="pic" src="" height="300" width="500" border="0" alt="image">
这无法更新我的 img 对象,我使用 firebug 查看 DOM 并且我的数组正在正确填充但未设置 img src?
原文由 Warz 发布,翻译遵循 CC BY-SA 4.0 许可协议
你的例子不完整。您需要显示
imageItem
构造函数的作用(按照惯例,构造函数中的第一个字符使用大写字母),因此:应该在这里完成工作。你似乎也想要
imgArray
作为一个全局的,所以将它声明为一个:分配数组文字要容易一些:
虽然我不明白为什么你不直接分配数组文字而不理会包装函数。
startImage
函数可以更简洁一些:与使用
setAttribute
(在某些浏览器中有怪癖)相比,跨浏览器直接访问元素属性更可靠并且输入更少。