点击后的图片不会回到之前的图片
Clicked image doesn't come to previous image after clicking it again
Html代码:
<img src="images/assets/plus.png" alt="Earth" id="pic" class="portrait" onclick="changeImage()" />
Javascript: var newsrc = "minus.png";
function changeImage() {
if (newsrc == "minus.png") {
document.images["pic"].src = "images/assets/minus.png";
document.images["pic"].alt = "minus";
newsrc = "minus.png";
} else {
document.images["pic"].src = "images/assets/plus.png";
document.images["pic"].alt = "plus";
newsrc = "plus.png";
}
}
我使用这些代码来改变图像onclick。现在我希望当我再次点击减号图像时它会再次回到正号图像,我怎么做呢?
如果minus.png
则设置为minus.png
?否则永远不会被执行。如果不是负的,就是负的,否则就是正的。将==
修改为!=
。如果你想要的图像id为"pic",你应该使用getElementById()
。
对于多个图像,使用以下命令并将id="pic"
更改为class="pic"
:
function changeImage() {
if (newsrc != "minus.png") {
for(var i = 0; i<document.getElementsByClassName("pic").length; i++) {
document.getElementsByClassName("pic")[i].src = "images/assets/minus.png";
document.getElementsByClassName("pic")[i].alt = "minus";
}
newsrc = "minus.png";
} else {
for(var i = 0; i<document.getElementsByClassName("pic").length; i++) {
document.getElementsByClassName("pic")[i].src = "images/assets/plus.png";
document.getElementsByClassName("pic")[i].alt = "plus";
}
newsrc = "plus.png";
}
您应该使用document.getElementById("pic")
而不是现有的document.images[]
方法,因为CC_10方法返回一个数组。在你的例子中,它返回"[object HTMLImageElement]"。
您还应该将var newsrc = "minus.png"
移动到函数中。我不确定函数是否能识别出你这样写的变量。
最后,你不应该在if中设置newsrc
变量。
话虽如此,这段代码要简单得多:
function changeImage() {
var pic = document.getElementById("pic");
var x = document.getElementById("pic").src;
if (x == "images/assets/plus.png"){
pic.src = "images/assets/minus.png"
// Plus whatever else you want to do
} else {pic.src = "images/assets/plus.png"
// Plus whatever else you want to do
}
}
相关文章:
- 没有找到相关文章