【问题标题】:How to keep timer running when alert is displayed in javascriptjavascript中显示警报时如何保持计时器运行
【发布时间】:2011-06-22 09:53:34
【问题描述】:

我有一个显示计时器的 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');
}

【问题讨论】:

    标签: javascript timer alert


    【解决方案1】:

    Alert 是一个拦截器,使用自定义 javascript 弹出窗口,如灯箱、lytebox、jquery 对话框、fancybox 等。

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

    【讨论】:

      【解决方案2】:

      你要不要使用不那么令人讨厌的东西,比如this

      【讨论】:

        【解决方案3】:

        由于 alert() 会停止其余 javascript 代码的执行,因此最好使用不需要强制式递增时间的方法。

        您如何实际使用“不断计数”的时间/日期功能?

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-13
          • 1970-01-01
          • 2021-10-12
          • 1970-01-01
          相关资源
          最近更新 更多