Проблема с SetTimeOut оповещением
Здравствуйте, хочу сделать напоминание на сайте, где время оповещения выбирает пользователь, но SetTimeOut не отрабатывает как надо, я хотел достать время через поля number, потом перевести все в часы и установить delay для SetTimeOut
Вот код: <input class = "mt-3" type="button" value = "Напомнить мне" onclick = "notifSet()"> <br> <label for="">Day: <input name = "day" min = "0" max = "30" type="number"> </label> <label for="">Hour: <input name = "hour" min = "0" max = "24" type="number"> </label> <label for="">Minute: <input name = "minute" min = "0" max = "60" type="number"> </label> <label for="">Seconde: <input name = "seconde" min = "0" max = "60" type="number"> </label> function notifyMe () { var notification = new Notification ("ToDo List App", { tag : "ache-mail", body : "Вам пришло уведомление", }); } function notifSet () { var day = document.getElementsByName("day").value; var hour = document.getElementsByName("hour").value; var minute = document.getElementsByName("minute").value; var seconde = document.getElementsByName("seconde").value; day = parseFloat(day); hour = parseFloat(hour); minute = parseFloat(minute); seconde = parseFloat(seconde); if(hour === 24){ day++; } if(minute === 60){ hour++; } if(seconde === 60){ minute++; } day = day * 24; minute = minute / 60; seconde = seconde / 3600; var sum = day + minute + hour + seconde; var res = sum * 3600000; if (!("Notification" in window)) alert ("Ваш браузер не поддерживает уведомления."); else if (Notification.permission === "granted") setTimeout(notifyMe, res); else if (Notification.permission !== "denied") { Notification.requestPermission (function (permission) { if (!('permission' in Notification)) Notification.permission = permission; if (permission === "granted") setTimeout(notifyMe, res); }); } } |
Temax, тебе нужно просто перевести все в миллисекунды...
Зачем ты делаешь все эти лишние вычисления и сравнения? Просто умножь дни на количество в них миллисекунд... Потом аналогично поступи с часами, минутами и секундами... Потом все сложи - это и есть нужная пауза. ;) |
Спасибо Вам за помощь, все заработало, да я реально ступил, что можно было сразу в миллисекунды перевести и еще не срабатывало потому что getElementsByName было. я поставил ById и все сработало!:dance:
|
Часовой пояс GMT +3, время: 01:42. |