Цитата:
|
до конца суток осталось
<div class="time"></div> <script> var x = 24*60*60*1000; // тоесть сутки down = document.querySelector('.time'), end = new Date; end.setHours(0,0,0); end -= new Date; end += x; function tick(e){ var ost = end - e; if(ost < 0) {end = ost = x}; var s = Math.floor(ost/1000), m = Math.floor(s/60), h = Math.floor(m/60), d = Math.floor(h/24); s = s%60+''; m = m%60+''; h = h%24+''; d = d+''; d = d.length == 1 ? '0'+d:d; h = h.length == 1 ? '0'+h:h; m = m.length == 1 ? '0'+m:m; s = s.length == 1 ? '0'+s:s; down.innerHTML = d+' дней '+h+' часов '+m+' минут '+s+' секунд'; requestAnimationFrame(tick) }; requestAnimationFrame(tick) </script> |
Более универсальный, добавил склонения, можно указать конечную дату, время и сколько добавлять.
<div class="time"></div> <script> function sclPad(n, arr){ return n+" "+arr[(n%100>4 && n%100<20)?2:[2, 0, 1, 1, 1, 2][(n%10<5)?n%10:5]]; } var x = 24*60*60*1000, down = document.querySelector('.time'), now = new Date(), end = new Date(2018, 8, 8); (function tick(){ down.innerHTML =''; var now = new Date(), ost = end - now, s = Math.floor(ost/1000), m = Math.floor(s/60), h = Math.floor(m/60), d = Math.floor(h/24); s = s%60+''; m = m%60+''; h = h%24+''; d = d+''; d = d.length == 1 ? '0'+d:d; h = h.length == 1 ? '0'+h:h; m = m.length == 1 ? '0'+m:m; s = s.length == 1 ? '0'+s:s; down.innerHTML = sclPad(d, ['день', 'дня', 'дней'])+ ' '+sclPad(h, ['час', 'часа', 'часов'])+ ' '+sclPad(m, ['минута', 'минуты', 'минут'])+ ' '+sclPad(s, ['секунда', 'секунды', 'секунд']); if(ost>0) setTimeout(tick, 1000); else { while(end < now) end = end.valueOf() + x; tick(); } })(); </script> |
j0hnik,
ost = new Date(end - now), зачем new Date? |
рони,
поправил, спасибо |
подошло боле менее пост 12, а можно также сделать отсчет только на месяц? а потом снова чтобы он запускался
|
Цитата:
|
просто месяц, например 30 дней, по типу var x = 24*60*60*1000;
может можно так var x = 30*24*60*60*1000; ? |
javascrip,
нужна дата отсчёта, иначе всегда будет d = 29; смотрите ссылку из поста №4, это то что вам нужно |
поставил 11.9.2018 он пишет до конца 60 дней
|
Часовой пояс GMT +3, время: 04:49. |