用js实现点击图片切换问题

这是runoob的一个例子,要实现点击灯泡实现打开或关闭,我一开始是这样做的:

window.onload = function(){
    var light = document.getElementsByTagName('img')[0];
    light.onclick = function(){
        if(light.src = 'img/light_off.jpg'){
            light.src = 'img/light_on.jpg';
        }else{
            light.src = 'img/light_off.jpg';
        };
    };
};

但是这样写,当灯泡变亮后就不会再变暗了,我不理解为什么,如果src不是img/light_off.jpg就应该执行else的部分不是吗?

-----HTML部分------

<img src="img/light_off.jpg" alt="photo1" />

------已解决--------
正确的代码:

window.onload = function(){
    var light = document.getElementById('test');
    light.onclick = function(){
        if(light.src == 'http://127.0.0.1:8020/2017.8.31%20javascript/img/light_off.jpg'){
            light.src = 'img/light_on.jpg'
        }else{
            light.src = 'img/light_off.jpg'
        }
    };
};

ps:楼下两位回答者说的都是正确的,我基础不扎实,感谢。另外我用alert测试发现light.src的值是一个绝对地址,因此把绝对地址放进去,判断是true后,执行正常。

阅读 2k
2 个回答

clipboard.png
你这是赋值 换成==或者===

if里面要用==或者===

==先统一数据类型然后再做比较,===如果数据类型不通直接返回false

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题