【发布时间】:2019-12-12 11:32:38
【问题描述】:
我有一个图像元素和三个图像(Red.png、Amber.png、Green.png)。我希望我的代码通过单击将图像元素更改为下一个图像。
<img src="Red.png" id="toggleImage" onclick="toggleImage()">
function toggleImage() {
var img1 = "Red.png";
var img2 = "Amber.png";
var img3 = "Green.png";
var imgElement = document.getElementById('toggleImage');
if (imgElement.src = img1) {
imgElement.src = img2;
}
if (imgElement.src = img2) {
imgElement.src = img3;
}
if (imgElement.src = img3) {
imgElement.src = img1
}
}
当红绿灯以 Red.png 开头并且我点击它时,它不会改变。
当它以 Amber.png 开头并且我单击它时,它会变成 Red.png 并且不再更改。
当它以 Green.png 开始时,单击时会变为 Red.png,但再次单击不会改变任何内容。我已经尝试将它作为 else if 条件,但它不起作用,而是变为 Amber.png,而不是红色。
【问题讨论】:
-
你需要写
imgElement.src == img1而不是imgElement.src = img1。如果您使用单个=,则不是比较而是分配。 -
如果/否则是强制性的。否则,多个 if 语句将是真的,结果不是你想要/期望的。
标签: javascript html image traffic