Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.09.2018, 15:39
Аспирант
Отправить личное сообщение для javascrip Посмотреть профиль Найти все сообщения от javascrip
 
Регистрация: 29.08.2018
Сообщений: 46

обратный отсчет на сутки
например 23 дня 19:11:22 (часы, минуты, секунды)
только тут дату не нужно указывать, лучше просто обратный счетчик на сутки или на двое, а потом снова заново начинается...
или на 64 часа обратный отсчет и чтобы заново потом начинался

подскажите, если какое решение для этого?)
Ответить с цитированием
  #2 (permalink)  
Старый 07.09.2018, 15:52
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,725

https://www.google.ru/search?q=javas...down+with+days
https://www.w3schools.com/howto/howto_js_countdown.asp
Ответить с цитированием
  #3 (permalink)  
Старый 07.09.2018, 16:15
Аспирант
Отправить личное сообщение для javascrip Посмотреть профиль Найти все сообщения от javascrip
 
Регистрация: 29.08.2018
Сообщений: 46

видел я их, они все с до указанной даты, а мне скорее всего нужен просто обратный отчет времени, 24 часа хотя бы
Ответить с цитированием
  #4 (permalink)  
Старый 07.09.2018, 16:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

javascrip,
https://javascript.ru/forum/misc/408...tml#post274396
Ответить с цитированием
  #5 (permalink)  
Старый 07.09.2018, 16:46
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,725

javascrip,
https://www.w3schools.com/code/tryit...e=FV2BHPHBYMVM
Ответить с цитированием
  #6 (permalink)  
Старый 07.09.2018, 18:21
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<div class="time"></div>
	<script>
var x = 24*60*60*1000; // тоесть сутки 
down = document.querySelector('.time'),
now = new Date(),
end = new Date(2018, 8, 8);
while(end < now) end = end.valueOf() + x; // когда закончится добавятся еще X (сейчас сутки)

(function tick(){
	down.innerHTML ='';
	var now = new Date(),
	ost = new Date(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 = d+' дней '+h+' часов '+m+' минут '+s+' секунд';
	if(ost>0) setTimeout(tick, 1000);
})();
	</script>

Последний раз редактировалось j0hnik, 07.09.2018 в 18:24.
Ответить с цитированием
  #7 (permalink)  
Старый 07.09.2018, 18:26
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

javascrip,
если не указывать конечную дату, то про обновлении счетчик будет опять сутки отсчитывать, а это полагаю не то что нужно.
Ответить с цитированием
  #8 (permalink)  
Старый 07.09.2018, 18:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

j0hnik,

<div class="time"></div>
    <script>
var x = 24*60*60*1000; // тоесть сутки
down = document.querySelector('.time'),
end = +new Date();

(function tick(){
    var ost = end - new Date();
    if(ost < 0) {end += x; 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)

})();
    </script>
Ответить с цитированием
  #9 (permalink)  
Старый 07.09.2018, 18:42
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

рони,
такие счетчики из серии "до конца акции осталось", и при обновлении страницы нужно не заново считать, а продолжать отсчет.
Ответить с цитированием
  #10 (permalink)  
Старый 07.09.2018, 18:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068


<div class="time"></div>
    <script>
var x = 24*60*60*1000; // тоесть сутки
down = document.querySelector('.time'),
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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обратный отсчет от заданного числа с задержкой frost68 Общие вопросы Javascript 9 28.11.2017 16:22
Обратный отсчет Sav2907 Элементы интерфейса 13 22.03.2017 01:24
Обратный отсчет до даты с учетом часовых зон royksopp Flash 0 25.09.2013 18:25
jQuery Timer - обратный отсчет времени в 10 минут adax jQuery 1 01.11.2011 14:54
Многократный обратный отсчет sultan.khayrulin Общие вопросы Javascript 1 30.05.2010 22:41