4

我的页面上有一个从 10 倒计时到 0 的 jquery 计时器。在 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/

4

2 回答 2

7

你不能这样做,alert因为它会停止scripts执行。但是,您可以使用 jQuery UI 对话框来实现这一点。检查以下演示

工作演示

于 2012-05-19T14:07:35.500 回答
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 设置此元素的样式,使其看起来像一个模态窗口。

于 2012-05-19T14:08:50.517 回答