rgba如果没有在javascript中工作

时间:2013-09-16 02:08:16

标签: javascript html css

嗨我有这个代码,如果在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>

1 个答案:

答案 0 :(得分:1)

Chrome会将rgba值更改为rgba(0, 255, 51, 0.329412),因此您的if声明中没有匹配。

如果你改用类,你会有更轻松的时间。

http://jsfiddle.net/zVYKS/

#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>