【发布时间】:2015-10-03 13:57:58
【问题描述】:
我希望在 javascript 中获得有关我的 IF 语句的帮助。发生的事情是单击按钮时它不会改变颜色。
这就是我想要做的。单击下一个按钮时,应该会发生以下情况
如果light div的背景颜色是#ff0000(红色),它应该变成#ffff00(琥珀色)
如果light div的背景颜色是#ffff00(琥珀色),它应该变成#00ff00(绿色)
如果light div的背景颜色是#00ff00(绿色),它应该变成#ff0000(红色)
HTML:
<div class="main">
<h1>Traffic Light</h1>
<div class="light">
</div>
</br>
<button id="next" onClick="setBgColour" type="button">Next</button>
</div>
css:
.light
{
background-color: #ff0000;
width: 100px;
height: 20px;
margin-left: auto;
margin-right: auto;
}
JavaScipt:
function setBgColour(){
if(document.getElementsByClassName("light")[0].style.backgroundColor = '#ff0000')
{
document.getElementsByClassName("light")[0].style.backgroundColor = '#ffff00';
}
else if (document.getElementsByClassName("light")[0].style.backgroundColor = '#ffff00')
{
document.getElementsByClassName("light")[0].style.backgroundColor = '#00ff00';
}
else
document.getElementsByClassName("light")[0].style.backgroundColor = '#ff0000';
}
window.onload = function(){
document.getElementById('next').addEventListener('click', setBgColour);
};
【问题讨论】:
-
您应该在
if语句中使用==。 -
另外,您实际上并不需要所有这些语句 - 例如,将颜色放在数组中......
-
根据浏览器的不同,当以您设置的相同格式读取颜色值时,您可能无法返回颜色值。将
document.getElementsByClassName("light")[0].style.backgroundColor的值记录到控制台以查看它实际包含的内容。 -
你为什么写
</br>而不是<br>?你从哪里得到的?
标签: javascript html css if-statement