0

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

1 回答 1

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>
于 2013-09-16T02:21:14.670 回答