点击切换图片功能失效求助:按YouTube教程实现却无法运行
问题分析与解决方案
嘿,我一眼就瞅出问题所在啦!你的代码逻辑里藏着个小bug——两个if语句是依次执行的,导致刚切换完图片就立刻切回去了,所以看起来点击没任何效果。
问题根源
当你点击图片时:
- 初始
image_tracker是"f",第一个if条件满足,把图片换成twit.jpg,同时将image_tracker改成"t"; - 紧接着第二个
if检查image_tracker == "t",此时条件也成立,又把图片换回fb.jpeg,image_tracker改回"f"。
两次切换在一瞬间完成,肉眼完全察觉不到变化,自然觉得功能失效了。
修正方案
把第二个if改成else if(或者直接用else,因为只有两种状态),这样只有第一个条件不满足时,才会执行第二个分支的逻辑:
修正后的JavaScript代码
var image_tracker = "f" function change() { var image = document.getElementById('social'); if (image_tracker === "f") { // 推荐用严格相等===,避免类型转换坑 image.src = "twit.jpg" image_tracker = "t" } else { image.src = "fb.jpeg" image_tracker = "f" } }
HTML代码无需改动
<img src="fb.jpeg" id="social" onclick="change()">
这样点击图片时,就能在fb.jpeg和twit.jpg之间正常切换啦!
内容的提问来源于stack exchange,提问作者Akshat Taneja
相关产品推荐
相关产品推荐

