定时器有间隔警报

时间:2012-05-19 13:53:48

标签: javascript jquery

我的页面上有一个jquery计时器,从10倒数到0。在5秒钟我想显示一条警告信息然后在0秒我想显示另一条消息。

我使用下面的代码在表单字段中执行倒计时以及提供警报,但是当警报显示时倒计时停止:

$(function(){
    var count = 10;
    countdown = setInterval(function(){
        $("#Exam_Timer").val(count + " seconds remaining!");
        if (count == 5) {
            alert('Only 5 Seconds Left');
        }   
        if (count == 0) {
            alert('Times Up')
        }
    count--;
    }, 1000);
});

有人可以让我知道如何重组这个警报并不会停止倒计时吗?

我尝试将警报放入单独的功能,但这没有帮助。我创造了一个小提琴:

http://jsfiddle.net/CQu7T/

2 个答案:

答案 0 :(得分:7)

您不能使用alert执行此操作,因为它会停止scripts执行。但是,您可以使用jQuery UI对话框实现此目的。请查看以下演示

Working Demo

答案 1 :(得分:1)

警报是一些奇怪的事情,它们在显示时会破坏默认的浏览器设置(控件和脚本)。

您可以做的是使用jquery html

将警告消息放在另一个元素中
$(function(){
    var count = 10;
    countdown = setInterval(function(){
        $("#Exam_Timer").val(count + " seconds remaining!");
        if (count == 5) {
            $("#message").html('Only 5 Seconds Left');
        }

        if (count == 0) {
           $("#message").html('Times Up')
        }
        count--;
    }, 1000);
});

jsfiddle。你可以用一些css来设置这个元素的样式,使它看起来像一个模态窗口。