如果不工作,则多条语句else
multiple statements else if not working
当玩家的音量级别发生变化时,我试图替换音量图像,
但是在这个代码中,第二个else if
不起作用,
3°图像(VOL-1.png)没有出现…
所有其他图像(VOL-off, VOL-2, VOL-on)显示正常…
var myVideo1 = document.getElementById('myVideo1');
var bttnMuteUnmute = document.getElementById("bottoncinoMuteUnmute_myVideo1");
myVideo1.addEventListener("volumechange", function () {
if (myVideo1.muted || myVideo1.volume <= 0.009) {
bttnMuteUnmute.style.backgroundImage = "url(buttons-VOL-off.png)";
} else if (myVideo1.volume <= 0.65) {
bttnMuteUnmute.style.backgroundImage = "url(buttons-VOL-2.png)";
} else if (myVideo1.volume <= 0.4) {
bttnMuteUnmute.style.backgroundImage = "url(buttons-VOL-1.png)";
} else {
bttnMuteUnmute.style.backgroundImage = "url(buttons-VOL-on.png)";
}
}, false);
我做错了什么?
任何小于0.4
的数也将小于0.65
。因此,当数字小于0.4
时,与<= 0.65
比较为真,因此显示VOL-2
的图片。
所以,你只需要改变条件的顺序,就像这样
...
} else if (myVideo1.volume <= 0.4) {
bttnMuteUnmute.style.backgroundImage = "url(buttons-VOL-1.png)";
} else if (myVideo1.volume <= 0.65) {
bttnMuteUnmute.style.backgroundImage = "url(buttons-VOL-2.png)";
} else {
...
由于if-else语句是按顺序求值的,因此它会卡在VOL-2中,因为VOL-1的任何选项也满足VOL-2。如果您要切换VOL-1和VOL-2的顺序,它应该工作
相关文章:
- 如何使用 Backbone 将多条记录呈现到 html 表中.js .
- 同时显示多条AngularJS路线
- 使用Javascript将多条记录插入SQLite数据库时出错
- 向函数添加多条语句
- AngularJS动态显示多条记录
- NodeJS中的MySQL不适用于INSERT INTO中的多个语句
- 具有任意多条线的D3折线图(以及特定的数据格式)
- ArrayController排序-每条语句-模型
- 在多条测地线折线上为符号添加动画效果
- Chrome 运行时会发送多条消息
- 允许用户在不刷新页面的情况下留下多条评论
- javascript 中用于计时器的多个 if-else 语句
- 我可以简化多个 if - else 语句吗?
- 替代javascript中的多个if-else语句
- 如何在datatablejs中用一条语句对多个表使用索引列
- 有没有办法优化多个if, else if, else语句
- 在一条语句中获取多个未定义对象中的初始化对象
- 减少多个if else语句
- 如果不工作,则多条语句else
- javascript中的验证在多个if else语句中不起作用