开关灯代码的问题咨询

lyw2073327 2021-03-24 05:35:52
参考教材写了如下开关灯的代码,实际操作中发现只能转换一次就切换不回去了,想咨询一下是哪里出了问题,谢谢

<body>
<img id='light' src='/视频音频/deng_an.gif'/>
<button id='btn' style='width: 55px;height: 25px;'>开灯</button>
<script type="text/javascript">
var btn = document.getElementById('btn')
var light = document.getElementById('light')
btn.onclick = function(){
if(btn.innerHTML = '开灯' ){
light.src = '/视频音频/deng_liang.gif';
btn.innerHTML = '关灯';
}else{
light.src = '/视频音频/deng_an.gif';
btn.innerHTML = '开灯';
}
}
</script>
</body>
...全文
74 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyw2073327 2021-03-24
  • 打赏
  • 举报
回复
了解了,原来如此,非常感谢
泡泡鱼_ 2021-03-24
  • 打赏
  • 举报
回复
=是用来赋值的,==和===用来比对 但通过console.log(btn.innerHTML='开灯');。发现输出的居然会是'开灯'…… 这倒是从来没想到过的一个结果[face]qq:40.gif[ 因为:if('开关')它会执行,有值就相当于true,你如果if(btn.innerHTML =null )或者if(btn.innerHTML =false),if(btn.innerHTML =''),if(btn.innerHTML =undefined)之类的,它就永远执行else下面的程序块去了。 大概是:类似于if(x =y),会直接将值y当成条件
lyw2073327 2021-03-24
  • 打赏
  • 举报
回复
哦,知道了,另外想咨询下,既然是用==来判断,那为啥原代码第一次点击时还是会进行转换呢
泡泡鱼_ 2021-03-24
  • 打赏
  • 举报
回复
判断时是==,不是=
  • 打赏
  • 举报
回复
js = 是赋值,==才是比对

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧