如何在javascript中显示警报时保持计时器运行

时间:2011-03-04 13:20:38

标签: javascript timer alert

我有一个显示计时器的Javascript函数。 现在,当计时器达到2分钟时,我想显示一个警报并继续我的计时器功能。 但是,我的计时器功能会停止,直到用户点击“确定”,然后从1:59秒恢复。

有人能告诉我如何在显示弹出框时保持计时器功能运行吗?

这是我显示计时器的功能。

var minutes=5;
var seconds=59;

function time_display(){
  if(minutes==2 && seconds==0){
    setTimeout('display_time_alert_two_minutes_left()',100);
  }
  if (seconds<=0){
    seconds=59;
    if(minutes>0)
      minutes-=1;
  }
  else
    seconds-=1;
  $('time_left_in_minutes').innerHTML = minutes+"."+ ljust_zero(seconds);
  setTimeout("time_display()",1000);
}
time_display();

这是我的警报功能。

function display_time_alert_two_minutes_left(){
    alert('Two minutes left');
}

3 个答案:

答案 0 :(得分:3)

警报是一个拦截器,使用自定义的javascript弹出窗口,如lightbox,lytebox,jquery对话框,fancybox等。

或者您可以简单地显示/隐藏浮动div。这将解决您的计时器问题 卡住了,也增强了用户体验。

答案 1 :(得分:0)

你如何使用不那么具有侵入性的东西,比如this

答案 2 :(得分:0)

当alert()停止执行其余的javascript代码时,最好使用不需要增量时间的绝对样式的东西。

你实际上如何使用时间/日期功能,这将“继续计算”?

编辑:当您调用alert()时,这将停止网页更新,但在警报打开时它将继续计数。