Открыть модал в определенную дату / время [дубликаты]

0

Я разрабатываю веб-приложение, и мне было интересно, есть ли способ отобразить модель в определенную дату/время.

В приложении пользователь может заказывать задачу или напоминания, поэтому, когда я читаю из базы данных задачу, я хочу запланировать отображение модальности в дате/времени, заданную пользователем.

Например, пользователь заказывает задание на 2013-09-23 в 14:00, и я хочу отобразить сообщение в модальном режиме.

Я могу установить временной интервал с JavaScript:

setInterval(function () { 
    showModal(); 
}, 10 * 1000);

Но как указать час, как в примере?

Теги:

3 ответа

0
Лучший ответ

Спасибо всем за ваши ответы, они помогают мне придумать решение:

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()

}
0

В этом вызове setInterval 10 * 1000 означает 10 раз 1000 миллисекунд, или, другими словами, 10 секунд. Если вы хотите час, это просто больше. 1000 * 60 * 60 - час.

Однако setInterval предназначен для многократного запуска функции. Если вы не хотите, чтобы его вызывали каждый час, вы, скорее всего, ищете setTimeout. setTimeout назначает функцию, которая будет запускаться один раз после истечения периода времени.

0

Вы можете попробовать это.

  1. Сделайте свой setInterval() для продолжения.
  2. Сравните дату, переведя их в 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);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню