Здравствуйте, хочу сделать напоминание на сайте, где время оповещения выбирает пользователь, но 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);
});
}
}