嗨我有这个代码,如果在javascript中,它与普通颜色,如绿色,红色等完全正常,但不是在rgba ..请帮助我。这是我的代码段
<div id="div" onclick="color()" style="width:100px; height:100px; border:2px solid black; background-color:rgba(0, 255, 51, 0.33)"></div>
<script>
function color(){
if(document.getElementById("div").style.backgroundColor == "rgba(0, 255, 51, 0.33)"){
document.getElementById("div").style.backgroundColor="rgba(0, 153, 255, 0.33)";
}
}
</script>
答案 0 :(得分:1)
Chrome会将rgba
值更改为rgba(0, 255, 51, 0.329412)
,因此您的if
声明中没有匹配。
如果你改用类,你会有更轻松的时间。
#div {
width:100px;
height:100px;
border:2px solid black;
}
.on {
background-color:rgba(0, 255, 51, 0.33);
}
.off {
background-color:rgba(0, 153, 255, 0.33);
}
<div id="div" onclick="color()" class="on"></div>
<script>
function color(){
var d = document.getElementById("div");
if (d.classList.contains("on")) {
d.classList.add("off");
d.classList.remove("on");
} else {
d.classList.add("on");
d.classList.remove("off");
}
}
</script>