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 回答