0

入力チェックボックスがチェックされている場合、不透明度が 0.5 から 1 に変わるように設定しました。

それは機能していません。逆のことをすると実際には機能しますが、これは私の目標ではありません!

私の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));
    };

どうしたの?

ケースはこちら

4

1 に答える 1

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 ステートメントの最初の命令のみを実行します。その後、常にクラスを削除します。css gerarchy でまだ問題が発生する可能性があることを修正した後、変更した場合:

.opacitychange {opacity: 1;}

に:

.opacitychange {opacity: 1 !important;}

それならうまくいくはずです。

PS: 下手な英語で申し訳ありません。

于 2012-10-30T12:10:18.327 に答える