如何纠正倒数计时器发生的延迟?

时间:2014-02-06 10:24:05

标签: javascript jquery html settimeout countdown

我有JSFiddle

在这个小提琴中,倒数计时器正在运行但是它落后了。任何人都可以在小提琴中纠正这个时滞的问题吗?

当计时器达到值00:04:59时,它开始闪烁。现在每件事都闪烁,包括标签,计时器hr,min,sec值,中间的冒号。当计时器到达00:04:59时,我想只闪烁min和sec数字,但现在应用的红色字体颜色对于所有元素应该是相同的。字体颜色没有变化。

2 个答案:

答案 0 :(得分:2)

错误是因为timeFlag变量:

  if(timeFlag == 0) {
    secs--; 
    timeFlag++;
  } else {
    timeFlag--;
  }

这意味着代码secs--;仅在2秒内执行一次。

校正: http://jsfiddle.net/artur99/FvYyS/17/

答案 1 :(得分:1)

我已经更改了单独闪烁min和sec数字的代码

试试这段代码:

<强> DEMO

  if( hrs <= 0 && mins <= 4)
  {
     document.getElementById('list').style.color="red";
  }
  else
  {
      document.getElementById('list').style.color="black";
      styleFlag = 1;  
  }
  if(styleFlag == 0) {
     styleFlag = 1;  
     document.getElementById('hr').innerHTML = hours;
     document.getElementById('mins').innerHTML = "";
     document.getElementById('sec').innerHTML = "";
  }    
  else
  {
      styleFlag = 0; 
      document.getElementById('hr').innerHTML = hours;
      document.getElementById('mins').innerHTML = minutes;
      document.getElementById('sec').innerHTML = seconds;
  }