Подобная "Snooze" функция в Javascript для запуска события в более позднее время
Возможно, этот вопрос уже обсуждался, но я не мог найти то, что искал.
Я работаю над Adobe Edge Animate с HTML+JS. Это полный вопрос JS, поэтому я публикую его здесь. Я написал немного кода, чтобы диалоговое окно появлялось в определенное время в течение дня. Диалог имеет две кнопки: "Воспроизвести видео сейчас" и "Напомнить мне через 10 минут"
Вот код:
function updateClock() {
var d = new Date(); // current date
var m = d.getMinutes();
var h = d.getHours();
console.log(h, ":", m);
// call this function again in 1000ms
sym.updateClock = setTimeout(updateClock, 1000);
if (h == 9 && m == 0) { //at 9hrs 00 min
//run the dialogue for the morning pause
sym.play(1000);
} else {
sym.stop(1000);
}
}
updateClock(); // initial call
Затем мне нужно привязать кнопку повтора, чтобы она добавила 10 минут к моему условному заявлению. Я знаю, что должен добавить какую-то переменную "count", но я точно не знаю, как это сделать.
(function(symbolName) {
Symbol.bindElementAction(compId, symbolName, "${_snoze_btn}", "click", function(sym, e) {
}
1 ответ
Уверен, что вы просто хотите это -
(function(symbolName) {
Symbol.bindElementAction(compId, symbolName, "${_snoze_btn}", "click", function(sym, e) {
// remind again again in 10 minutes
popupPlayOrSnoozeDialogTimer = setTimeout(popupPlayOrSnoozeDialogTimer, 600000);
});
}())
Если вы хотите добавить 10 минут к текущему таймауту до тех пор, пока эта функция не будет вызвана снова, посмотрите этот ответ или посмотрите на new Date().valueOf()