Я разрабатываю веб-приложение, и мне было интересно, есть ли способ отобразить модель в определенную дату/время.
В приложении пользователь может заказывать задачу или напоминания, поэтому, когда я читаю из базы данных задачу, я хочу запланировать отображение модальности в дате/времени, заданную пользователем.
Например, пользователь заказывает задание на 2013-09-23 в 14:00, и я хочу отобразить сообщение в модальном режиме.
Я могу установить временной интервал с JavaScript:
setInterval(function () {
showModal();
}, 10 * 1000);
Но как указать час, как в примере?
Спасибо всем за ваши ответы, они помогают мне придумать решение:
function setNotification(notificationDate, notificationCallback){
var currentDate = new Date();
var date = new Date(notificationDate);
var interval = date - currentDate;
if(interval > 0)
window.setTimeout(function(){ notificationCallback(item)}, interval); //notificationCallback = showModal()
}
В этом вызове setInterval
10 * 1000
означает 10 раз 1000 миллисекунд, или, другими словами, 10 секунд. Если вы хотите час, это просто больше. 1000 * 60 * 60
- час.
Однако setInterval
предназначен для многократного запуска функции. Если вы не хотите, чтобы его вызывали каждый час, вы, скорее всего, ищете setTimeout
. setTimeout
назначает функцию, которая будет запускаться один раз после истечения периода времени.
Вы можете попробовать это.
setInterval()
для продолжения.milliseconds
. и условие сравнения.setInterval(function () {
var date = new Date("2013-09-23 14:00");
var schDateSecs = Date.parse(date);
var currentDate = new Date();
var schCurrentSecs = Date.parse(currentDate);
if (schDateSecs == schCurrentSecs) {
//execute
showModal();
}
}, 10 * 1000);