Код таймера обратного отсчета JavaScript [JS]
В настоящее время я пытаюсь заставить работать таймер обратного отсчета, но я вообще не знаю 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 минуты я хочу, чтобы он запускал какой-то пользовательский код (который у меня есть).
Но я понятия не имею, как заставить его работать за один раз и заставить его остановиться за один раз.
Кто-нибудь может мне с этим помочь?
2 ответа
Пытаться
$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);
}
Внутренняя функция должна быть частью анонимной функции. Прямо сейчас update()
не может быть вызван, потому что вы используете setTimeout()
-> update() должен быть на том же уровне, что и ваша анонимная функция.