Есть счетчик дней, часов и минут.
Суть следующая: создается куки и выводится значение в html код.
Проблема в том, что когда счетчик доходит до 0 надпись того, что отсчет закончен выводится, но потом выводится следующее "-1 день 24 часа 00 минут" и счетчик идет так же вниз.
Вот сам код:
<script type="text/javascript">
offset = 60 * 60 * 0.03;
id = 'time';
function update() {
u = parseInt(new Date().getTime()/1000);
time = getCookie('time');
if(!time) {
time = u + offset; setCookie('time', time);
}
today = u;
day = (today - time) / 86400 * -1;
days = Math.floor(day);
clock = Math.floor((day - days) * 24);
min = Math.floor((((day - days) * 24) - clock) * 60);
console.log(days);
console.log(clock);
console.log(min);
if(days <= 0 && clock <= 0 && min <= 0) {
document.getElementById('header-get_precent').innerHTML = '0 дней 0 часов 0 минут конец';
} else {
document.getElementById('header-get_precent').innerHTML = days + ' дней ' + clock + ' часов ' + min + ' минут';
}
}
setTimeout(update, 500);
function getCookie(name) {
var matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
function setCookie(name, value, options) {
options = options || {};
var expires = options.expires;
if (typeof expires == "number" && expires) {
var d = new Date();
d.setTime(d.getTime() + expires * 1000);
expires = options.expires = d;
}
if (expires && expires.toUTCString) {
options.expires = expires.toUTCString();
}
value = encodeURIComponent(value);
var updatedCookie = name + "=" + value;
for (var propName in options) {
updatedCookie += "; " + propName;
var propValue = options[propName];
if (propValue !== true) {
updatedCookie += "=" + propValue;
}
}
document.cookie = updatedCookie;
}
</script>
console.log вывожу в консоль значение каждой цифры. Цифра дня со знаком -, а остальные +. Как сделать так, чтобы все работало и отображалось корректно?