猿问

用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后,执行正常。


扬帆大鱼
浏览 535回答 2
2回答

弑天下

你这是赋值 换成==或者===

白板的微信

if里面要用==或者=====先统一数据类型然后再做比较,===如果数据类型不通直接返回false
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答