我有一个图像和一个按钮,我想要发生的是,当点击按钮时,图像的源被更改为另一个。每当我点击按钮时都没有发生任何事情。
我的图片代码是
<img id="chestImg" border="0" src="img/chestClosed.png" alt="Chest!">
我的按钮代码是
<button id="openChest" onclick='changeImage("chestImg","img/chest.gif");' > Open Chest! </button>
我的 changeImage 功能看起来像这样
function changeImage(obj,img) {
obj.src = img;
}
答案 0 :(得分:1)
obj
不能像你拥有它一样的字符串,因为该字符串不是DOM图像对象,因此没有你想要的.src
属性。
您可以将代码更改为:
function changeImage(id, url) {
document.getElementById(id).src = url;
}
然后就像你拥有它一样被调用:
changeImage("chestImg", "img/chest.gif")
答案 1 :(得分:1)
您的JS函数不正确,您传递的是字符串“element id”并将其用作DOM元素,而不是。
所以你的功能应该是:
document.getElementById("[element id]").src = [new value];
希望这有帮助。
答案 2 :(得分:0)
function changeImage(obj,img) {
obj.src = img;
}
“obj”不是对象,请想一想。“obj.src”不是对象的属性。 所以,你应该先得到这个对象:
var object = document.getElementById("chestImg").
然后:
object.src=[value];
答案 3 :(得分:0)
在changeImage函数中,您的参数不是对象。所以试试这个:
<img id="chestImg" border="0" src="img/chestClosed.png" alt="Chest!">
<button id="openChest" onclick='changeImage("chestImg","img/chest.gif");' > Open Chest! </button>
function changeImage(id,img) {
var obj = document.getElementById(id);
obj.src = img;
}