Цитата:
function timer() { let day = document.getElementById('day_id').value; let hour = document.getElementById('hour_id').value; let minute = document.getElementById('minute_id').value; let second = 59; const now = new Date(), newTime = new Date(now.getFullYear() + 1, 0, 1), diff = newTime.getTime() - now.getTime(), days = day, hours = hour, minutes = minute, seconds = 59 - now.getSeconds(); let st = ''; if(seconds==0){ minutes--; } if(minutes==0&&seconds==0) { hours--; } if (diff <= 0) { st = window.open("http://google.com"); } else { st = `${days} days, ${hours} hours,${minutes}minutes,${seconds}seconds`; } document.getElementById("showtime").innerHTML = st; } document.getElementById('start').addEventListener('click', () => setInterval(timer, 1000)); timer(); |
FotGOD,
minutes объявлены константой, константы меняться не должны. замените на var |
Цитата:
получается к minutes заново присваивается minute. Если сделать так hours = 23 - now.getHours() , minutes = 59 - now.getMinutes() , seconds = 59 - now.getSeconds() то идет нормально отчет, но с 59 минуте, а если присваивать через инпат hours = hour-now.getHours(), minutes = minute-now.getMinutes(), seconds = 59 - now.getSeconds() то сразу минуты и часы идут в минус, но не возвращается та цифра, которую присвоил через minute. Чтото не так делаю |
Попробовал сделать так, но тогда без кнопки старт все идет, и не вписываются минуты:
где document.getElementById('start').addEventListener('click', () => setInterval(timer, 1000)), вообще ничего не решает, его даже не замечает интерпретатор function timer(){ let day = document.getElementById('day_id').value; let hour = document.getElementById('hour_id').value; let minute = document.getElementById('minute_id').value; let second = 59; let st=''; var IdInt=setInterval(function(){ if(hour<=0&&minute<=0&&second<=0){ var openurl=window.open("http://google.com"); } document.getElementById("showtime").innerHTML = st; if(second>=0){ st = `${day} days, ${hour} hours,${minute}minutes,${second}seconds`; } second=second-1; if(second==0){ minute--; second=59; } }, document.getElementById('start').addEventListener('click', () => setInterval(timer, 1000)) ); . Это уже просто мысли в слух, на " а вдруг". Но пока не в верном направлении иду... |
Часовой пояс GMT +3, время: 09:40. |