Javascript 在倒计时结束前一分钟显示警报框
我正在开发一个在线测验模块,测验在30分钟后自动提交。现在我想显示一个警告框,在该框中,学生在第29分钟收到通知“还剩1分钟完成测验”。我不知道如何实现这一点。我的代码如下所示Javascript 在倒计时结束前一分钟显示警报框,javascript,php,jquery,jquery-countdown,Javascript,Php,Jquery,Jquery Countdown,我正在开发一个在线测验模块,测验在30分钟后自动提交。现在我想显示一个警告框,在该框中,学生在第29分钟收到通知“还剩1分钟完成测验”。我不知道如何实现这一点。我的代码如下所示 $(document).ready(function(){ function get15dayFromNow() { return new Date(new Date().valueOf() + <?php echo $duration ; ?> * 60 * 1000);
$(document).ready(function(){
function get15dayFromNow() {
return new Date(new Date().valueOf() + <?php echo $duration ; ?> * 60 * 1000);
}
var $time_spend = $('#time_spend');
$time_spend.countdown(get15dayFromNow(), function(event) {
$(this).val(event.strftime('%M:%S'));
});
var $clock = $('#clock');
$clock.countdown(get15dayFromNow(), function(event) {
$(this).html('Time Left : '+'00:'+event.strftime('%M:%S'));
})
.on('finish.countdown', function() {
submitForm();
});
function submitForm()
{
document.getElementById("target").submit();
}
});
$(文档).ready(函数(){
函数get15dayFromNow(){
返回新日期(新日期().valueOf()+*60*1000);
}
var$time_-spend=$(“#time_-spend”);
$time_-spend.countdown(get15dayFromNow(),函数(事件){
$(this.val(event.strftime(“%M:%S”);
});
var$clock=$(“#clock”);
$clock.countdown(get15dayFromNow(),函数(事件){
$(this.html('Time Left:'+'00:'+event.strftime('%M:%S'));
})
.on('finish.countdown',函数(){
submitForm();
});
函数submitForm()
{
document.getElementById(“目标”).submit();
}
});
如果您使用这样的倒计时脚本:只需修改if语句:
if (distance < WHATEVERYOUWANT) {
alert("Message");
}
if(距离
以下是一个如何实现这一目标的示例:
功能倒计时(计时器){
console.log(计时器)
如果(计时器==5){
警惕(“中途”);
}else if(计时器===0){
返回;
}
设置超时(()=>倒计时(计时器-1),1000);
}
倒计时(10)代码>我将使用php启动一个会话,并使用用户开始测验的时间戳,并通过AJAX定期检查该值。如果剩余时间可能会起作用:
var $time_spend = $('#time_spend');
$time_spend.countdown(get15dayFromNow(), function(event) {
$(this).val(event.strftime('%M:%S'));
if (event = WHATEVER){
alert('Message');
}
});
您可以启动一个29分钟的超时,当它完成alert()时,再启动另一个1分钟的超时(function(){alert(“1分钟后”);},1740000);/*1740000等于29分钟*/U需要在页面加载或单击任何按钮后添加此事件内侦听器感谢您抽出时间。我知道必须做什么的基本逻辑。但我的问题是tpo如何像上面的代码那样在jQuery中实现这一点@MichalBieda@Kool-注意,我想基于一个php变量给出1740000。我的意思是这个时间可以改变,所以我想把时间作为数据库值放在那里。这是怎么做到的。谢谢你抽出时间。我知道必须做什么的基本逻辑。但我的问题是tpo如何在jQuery中实现这一点,就像上面的代码一样,。我想知道两件事。一是你提供的代码是否必须“添加”到现有代码中?其次,我没有得到任何部分。只需将if(…}添加到您的代码中。其余部分是您的一部分。以及您想要的任何数字。我不确定事件(秒、分钟)是什么,但您将在运行代码时看到。或者使用console.log(事件)显示值谢谢你的解释。我想在这里使用一个php变量来表示“whatever”。如何做到这一点?将php变量写入jQuery变量:whatever=;然后在if语句中使用这个变量。我已经使用了这个变量。但是现在当页面加载时,警报框会弹出。var$time\u-spend=$(“#time\u-spend”);$time\u-spend.countdown(get15dayFromNow(),函数(event){$(this).val(event.strftime(“%M:%S”);if(event=){alert('Message');}});