0

我正在为一个使用 php、mysql、javascript 和 jquery 的测验应用程序工作。

我想创建一个计时器,我可以在其中设置多少分钟:秒。当您还剩不到 20 秒时,计时器也应该能够显示警告:还有 20 秒可以尝试或完成!

假设如果我保持三分钟......那将是 180 秒......当达到 160 秒时......应该会弹出一条消息,通知您只剩下 20 秒可以尝试或完成

一些建议,您知道的演示链接将不胜感激。

4

2 回答 2

1

你可以从这个开始:

var countdown = {
    counter:undefined,
    seconds:5, //total seconds left for the countdown
    warning:1, //when seconds==warning show message
    alert: function() {
        //whatever your warning message should do
        console.log("Hurry up!");
    },
    count: function() {
        //tic tac
        this.seconds = this.seconds-1;
        if (this.seconds==this.warning) {
            this.alert();
        }
        if (this.seconds==0) {
            clearInterval(this.counter);
            this.finished();
        }
        console.log(this.seconds+" remaining");
    },
    finished: function() {
        //no more seconds left!
        console.log("Game over!");
    }
};
//start the countdown
countdown.counter = setInterval( function(){ countdown.count(); }, 1000 );

更改警报功能,使其执行您想要的操作。您还可以更改计数功能,以便它在 adiv而不是控制台中显示剩余秒数。当然,例如将seconds:5和都更改warning:1为 180 和 20。

希望它有效,如果我遗漏了什么,请告诉我。

@user2331153 将此视为我的“欢迎使用 StackOverflow”消息,并接受一个友好的建议:在此处提问之前尝试展示一些努力。发布一些您尝试过的代码,一些您找到的链接,并写一个详细的问题,而不仅仅是 3 行有错误。这对你和 SO都有帮助。祝你好运!

于 2013-04-29T07:58:25.040 回答
0

我可能是错的,但听起来你只需要一个超时:

minutes = 3;
seconds_left_warning_time = 20;
setTimeout(function() { alert('you only have ' + seconds_left_warning_time + ' seconds left'); }, (minutes*60*1000) - (seconds_left_warning_time*1000));
于 2013-04-29T07:42:39.443 回答