2012-10-30 82 views
0

我已經設置,如果輸入複選框被選中的不透明度變成0.5〜1刪除類cheched不工作

它不工作,如果我做相反的它的實際工作,但是這不是我的目標!

我的CSS代碼

.opacitychange {opacity: 1;} 
    #total {opacity: 0.5;} 

if($("#iva").is(':checked')) 
    { 
     $('#total').html('+' + vat); 
     total += vat; 
     $('#total').addClass("opacitychange"); 
    }  
    else 
     $('#total').html('0.00').removeClass("opacitychange"); 

    if($("#irpef").is(':checked')) 
    { 
     $('#total1').html('-' + irpf); 
     total -= irpf; 
     $('#total1').addClass("opacitychange"); 
    } 
    else 
     $('#total1').html('0.00').removeClass("opacitychange"); 
     $("#total2").html(total.toFixed(2)); 
    }; 

有什麼不對?

這裏case

+0

我已經取消了Js小提琴的更新 – Koala7

回答

2

如果你的代碼真的是:

if($("#iva").is(':checked')) 
{ 
    $('#total').html('+' + vat); 
    total += vat; 
    $('#total').addClass("opacitychange"); 
}  
else 
    $('#total').html('0.00').removeClass("opacitychange"); 

if($("#irpef").is(':checked')) 
{ 
    $('#total1').html('-' + irpf); 
    total -= irpf; 
    $('#total1').addClass("opacitychange"); 
} 
else // <-- this is not a typo? 
    $('#total1').html('0.00').removeClass("opacitychange"); 
    $("#total2").html(total.toFixed(2)); 
}; 

,那麼你只需要{}加上括號您else語句。 你有同樣的問題在你的jsfiddle,你的else語句是:

else 
    $('#total').html('0.00'); 
    $('#total').html('0.00').removeClass("opacitychange"); 

你實際上是在else語句僅執行第一個指令;然後總是刪除類。

.opacitychange {opacity: 1;} 

到:

.opacitychange {opacity: 1 !important;} 

那麼它應該工作 固定,你可能仍然有一些問題的CSS gerarchy,但如果你改變後。 PS:對不起,我的英語不好。