当计时器到达某个点时,不会改变颜色

时间:2014-01-27 20:49:52

标签: javascript jquery

所以我有以下代码:

initialize: function() {
    setInterval(function() {
        min = parseInt($('#js-clock span').text()) - 1;
        $('#js-clock span').text(min + 'm');
        $('.js-beacon-clock .fa-clock-o').addClass('text-success');
        if(min > 3 && min < 0){
            $('.js-beacon-clock .fa-clock-o').removeClass('text-success');
            $('.js-beacon-clock .fa-clock-o').addClass('text-error');
        }else if(min == 0){
            alert('OMG');
        }
    }, 1000);
}

这会影响以下html:

<div class="col-xs-8 text-large js-beacon-clock" id="js-clock">
    <i class="fa fa-clock-o"></i><span>30m</span>
</div>

计数下来,当它达到0时警告“OMG”,很棒。但if (min > 3 && min < 0)永远不会执行,即使计时器达到2 ... 1(当时钟应为红色时),而是保持绿色。

我甚至尝试过这样的事情:

initialize: function() {
    setInterval(function() {
        min = parseInt($('#js-clock span').text()) - 1;
        $('#js-clock span').text(min + 'm');
        if(min < 2){
            $('.js-beacon-clock .fa-clock-o').addClass('text-success');
        else if(min > 3 && min < 0){
            $('.js-beacon-clock .fa-clock-o').removeClass('text-success');
            $('.js-beacon-clock .fa-clock-o').addClass('text-error');
        }else if(min == 0){
            alert('OMG');
        }
    }, 1000);

}

然而它永远不会变成绿色,它永远不会变成红色。就像现在一样,它的绿色却从未变成红色。

放入控制台:$('.js-beacon-clock .fa-clock-o').addClass('text-success');按预期工作。

发生了什么事?

1 个答案:

答案 0 :(得分:2)

min没有整数值可以使其成立:

(min > 3 && min < 0)