Цитата:
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, время: 02:31. |