Javascript:改变img src onclick只能工作一次

时间:2016-11-22 09:08:24

标签: javascript

这很简单,我不确定为什么我遇到这个问题。我试图模仿两张图片之间的翻转卡,所以当点击时,它只会改变为另一张图像。我的if / else语句出现问题,因为每次单击图像时,它都不会进入else部分。在HTML页面的源代码中,图像的src正在被更改,但每次都传递if语句。

(function() {

    // attaches event handler to image
    window.onload = function() {

        var image1 = document.getElementById("image1");
        image1.onclick = changeImage;
    };

    // changes image when clicked to flip from image to text and text to image
    function changeImage() {
        if (document.getElementById("image1").src = "img/top.png") {
            document.getElementById("image1").src = "img/toptext.png";
            //window.alert('hi');
        }
        else {
            window.alert('it passed');
            document.getElementById("image1").src="img/top.png";
        }
    }
})();

2 个答案:

答案 0 :(得分:8)

如果条件检查,请使用==或===进行比较。

using =将赋值,并且始终为true,因为指定的字符串不是空字符串。

 function changeImage() {
        if (document.getElementById("image1").src == "img/top.png") {
            document.getElementById("image1").src = "img/toptext.png";
            //window.alert('hi');
        }
        else {
            window.alert('it passed');
            document.getElementById("image1").src="img/top.png";
        }
    }

答案 1 :(得分:2)

你应该使用==作为if comparaison

if (document.getElementById("image1").src = "img/top.png") {

改为

if (document.getElementById("image1").src == "img/top.png") {