3

嗨,如果 div 的不透明度为 0.5,我正在使用 if 语句更改 div 的不透明度,因此如果不透明度为 0,它将更改为 0,因此它将更改为 0.5 我正在使用以下 jquery 代码和它会将不透明度 0.5 更改为 0,但是当我再次单击以将不透明度更改为 0 到 0.5 时,它不起作用。请看一下代码

$("#one_star").click(function(){
    if($(this).css({"opacity":"0.5"}))
    {
        $(this).css({"opacity":"0"});
    }
    else if(!$(this).css({"opacity":"0.5"}))
    {
        $(this).css({"opacity":"0.5"});
    }
});

我使用了错误的语法吗?任何建议请

4

4 回答 4

4

你在 if 中的表达式 $(this).css({"opacity":"0.5"}) 应该返回布尔值true 或 false,但它没有,所以 else 没有执行。

试试这个,

if($(this).css("opacity") == "0.5")
 { 
        $(this).css({"opacity":"0"});
 }
 else 
 {
     $(this).css({"opacity":"0.5"});
 }
于 2012-06-11T06:11:58.593 回答
1

if的 's 实际上并没有检查 CSSopacity属性。

你需要这样做:

if ( $(this).css('opacity') == "0.5" ) {
   //do stuff
}
于 2012-06-11T06:13:14.537 回答
0
if( $(this).css("opacity") == "0.5") ){
        $(this).css({"opacity":"0"});
} else {
        $(this).css({"opacity":"0.5"});
}
于 2012-06-11T06:13:04.787 回答
0

无需检查是否不是,只需使用 else 子句:

$("#one_star").click(function(){
    if($(this).css("opacity") === "0.5") {
        $(this).css({"opacity":"0"});
    } else {
        $(this).css({"opacity":"0.5"});
    }
});
于 2012-06-11T06:14:11.790 回答