Loading...
JavaScript | Отсчёт времени
Всем привет! Кто в js шарит что не правильно сделал?
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
https://vincentloy.github.io/simplyCountdown.js/
Всё сделал, вот как нужно было, пользуйтесь:
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 + " с." : ""));
}
Онлайн: 3
Время:
Gen. 0.1002
(c) ByMAS.RU 2010-2025