我目前正在努力让倒数计时器工作,但我根本不懂JavaScript。
<script>
$(document).ready(function (e) {
var $timer = $("#timer");
function update() {
var myTime = $timer.html();
var ss = myTime.split(":");
var dt = new Date();
dt.setHours(0);
dt.setMinutes(ss[0]);
dt.setSeconds(ss[1]);
var dt2 = new Date(dt.valueOf() - 1000);
var temp = dt2.toTimeString().split(" ");
var ts = temp[0].split(":");
$timer.html(ts[1]+":"+ts[2]);
setTimeout(update, 1000);
}
setTimeout(update, 1000);
});
</script>
但我偶然发现了一个问题。所以我希望它在00:00停止,但它会继续下去。 还剩下2分钟,没有剩余时间我想让它执行一些代码。
在任何时候都没有(00:00)我希望它只是重定向到一个页面,剩下2分钟我想让它运行一些自定义代码(我有)。
但我不知道如何让它一次运行并让它一次停止。
任何人都可以帮我吗?
答案 0 :(得分:3)
尝试
$timer.html(ts[1]+":"+ts[2]);
if((ts[1]==="02") &&(ts[2]==="00")){
//custom code at 02:00
}
if((ts[1]==="00") &&(ts[2]==="00")){
//Make the redirect
}
else{
setTimeout(update, 1000);
}
答案 1 :(得分:0)
内部函数应该是匿名函数的sybling。现在update()
,因为您使用的是setTimeout()
- &gt;而无法调用update()应与匿名函数处于同一级别。