嗨我正在使用if语句来改变单击事件上div的不透明度如果div具有0.5不透明度,那么如果它具有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"});
}
});
我使用的是错误的语法吗? 任何建议请
答案 0 :(得分:4)
表达式$(this).css({“opacity”:“0.5”})你在if中应该返回boolean true或false ,但它不会执行其他操作。< / p>
试试这个,
if($(this).css("opacity") == "0.5")
{
$(this).css({"opacity":"0"});
}
else
{
$(this).css({"opacity":"0.5"});
}
答案 1 :(得分:1)
您的if
实际上并没有检查CSS opacity
属性。
你需要这样做:
if ( $(this).css('opacity') == "0.5" ) {
//do stuff
}
答案 2 :(得分:0)
if( $(this).css("opacity") == "0.5") ){
$(this).css({"opacity":"0"});
} else {
$(this).css({"opacity":"0.5"});
}
答案 3 :(得分:0)
无需检查是否不是,只需使用else子句:
$("#one_star").click(function(){
if($(this).css("opacity") === "0.5") {
$(this).css({"opacity":"0"});
} else {
$(this).css({"opacity":"0.5"});
}
});