如何在x个时间后使文本改变颜色

时间:2015-01-28 19:47:01

标签: javascript jquery css

我目前有一个有效的计时器,但我有一个CSS问题。基本上我想要的是当计时器达到30秒时,将数字变为红色。 这是我的代码

$(function () {
var $startTimer = $('#startTimer');
var $timerDisplay = $('#timerDisplay');
var time = 120;

$timerDisplay.hide();

$startTimer.click(function () {
$startTimer.prop('disabled', true);
$timerDisplay.show();
var timeRemaining = time;
 var intervalId = setInterval(function () {
 var timeStamp = Math.floor(timeRemaining/60) + ':' +    timeRemaining%60;
   $timerDisplay.text(timeStamp);
     if (timeRemaining === 0) {
     clearInterval(intervalId);
    $timerDisplay.fadeOut();
    alert('Time is up, please submit a vote :)');
    $startTimer.prop('disabled', false);
    } else {
    timeRemaining--;
  }
}, 1000);
});
});

HTML

 <div id="timerDisplay"></div>
 <button id="startTimer">Start Timer</button>

这是计时器的工作码笔,但不是颜色变化 http://codepen.io/Chevex/pen/RNomGG

1 个答案:

答案 0 :(得分:1)

timeRemaining使用简单的条件检查,更改元素的"color"属性。类似的东西:

$timerDisplay.css("color", (timeRemaining > 30 ? "initial" : "red"));

或者,如果你想要更简单:

if(timeRemaining <= 30)
    $timerDisplay.css("color", "red");

http://codepen.io/anon/pen/pvrPey