JavaScript | Отсчёт времени
Всем привет! Кто в js шарит что не правильно сделал?
________
посл. ред. 25.10.2021 в 08:04; всего 1 раз(а); by Ragnar Lodbrok
function time_last(time, id){
var last = new Date();
var secs = time-last;
var lastID = document.getElementById(id);
var value = "";
var days = floor(secs/86400);
secs = secs%86400;
var hours = floor(secs/3600);
secs = secs%3600;
var minutes = floor(secs/60);
secs = secs%60;
if(days > 0) {
value = value + days + "д. ";
}
if(hours > 0) {
value = value + hours + "ч. ";
}
if(days <= 0) {
value = value + minutes + "м. ";
}
if(days <= 0 && hours <= 0) {
value = value + secs + "с.";
}
lastID.innerHTML = value;
}
</script>
________
посл. ред. 25.10.2021 в 08:04; всего 1 раз(а); by Ragnar Lodbrok
Так что умных здесь нету, есть только те что обсирать чужие проекты могут
Ragnar Lodbrok, оо это точно, ещё и админы жопы кедам закрывают
Не совсем понимаю, зачем три раза перезаписывать делитель секунд. Плюс вывод строки со временем как-то чудно сделано. Обычное слияние двух переменных?
На самом деле чем больше читаю, тем больше запутываюсь. Что необходимо было сделать?
На самом деле чем больше читаю, тем больше запутываюсь. Что необходимо было сделать?
REWERK, она должна показывать оставшиеся время, функция вызывается через setInterval() раз в секунду
Ragnar Lodbrok, Math.floor вместо floor
Всё сделал, вот как нужно было, пользуйтесь:
function time_last(time, id){
var last = new Date();
var sec = (time-last/1000);
var d = Math.floor(sec / 86400);
sec = sec % 86400;
var h = Math.floor(sec / 3600);
sec = sec % 3600;
var m = Math.floor(sec / 60);
if(sec <= 0) {
clearInterval(lastIntervalTime);
}
sec = Math.floor(sec % 60);
$("#" + id).html((d > 0 ? d + " д. " : "") + (h > 0 ? h + " ч. " : "") + (d <= 0 ? m + " м. " : "") + (d <= 0 && h <= 0 ? sec + " с." : ""));
}