如果值大于,小于并再次大于

dvoutt

我的以下逻辑有问题。

Jsfiddle

逻辑

var budgetCalc = function (financeBudget, totalCost, remainingBudget, changeOn) {
    var reloadCalc = function () {
        var formula = parseFloat($(financeBudget).val()) - parseFloat($(totalCost).val());
        $(remainingBudget).val(Math.abs(formula.toFixed(0)));

        if ( formula >= 0 ) {
            $('.toolbar-budget').addClass('is-positive').append('<p>Remaining</p>');
        } else {
            $('.toolbar-budget').addClass('is-negative').append('<p>Over Budget</p>');        
        }
    };

    $(document).ready(function () {
        // Price Input
        $(changeOn).change(function () {
           reloadCalc();
        });
        $(changeOn).trigger('change');             
    });
};

什么工作正常

该界面具有多个选择,输入和一个jQuery滑块,可更改的值formula当页面加载且公式值为时,逻辑工作正常>= 0如果该值还可以< 0,那么formula效果很好。

问题

如果公式的值是< 0,然后> 0又由于用户更改了所贡献的值再次变为formula,则.is-positive除非页面刷新否则逻辑不会将类更改回

我的目标

.is-positive如果值从< 0到,我希望在不刷新页面的情况下应用的类>= 0

j08691

似乎最简单的解决方案是在添加适当的类之前先删除这两个类,$('.toolbar-budget').removeClass('is-positive is-negative');然后在检查之前添加

$('.toolbar-budget').removeClass('is-positive is-negative');
if (formula >= 0) {
    $('.toolbar-budget').addClass('is-positive').append('<p>Remaining</p>');
} else {
    $('.toolbar-budget').addClass('is-negative').append('<p>Over Budget</p>');
}

jsFiddle示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章