Показать сообщение отдельно
  #6 (permalink)  
Старый 12.07.2016, 17:57
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Ладно, я тоже ничего не понял ни в кодах, ни в заявке. Наверно ему надо чтобы все таймеры смотались и исчезли, поскольку попыток восстановить их не замечено. Можно все загнать в объект и чакать по нормальным переменным.

<!DOCTYPE html><html lang="ru" dir="ltr"><head><meta charset="utf-8"></head><body>

<div class="results full-height">
<div id="id1044" class="gray-line" data-sec="06">( Осталось <span>01:00:00</span>)</div>    
<div id="id12369" class="gray-line" data-sec="3607">( Осталось <span>01:00:00</span>)</div>    
</div>

<script>

var elems=document.querySelectorAll('.gray-line'),

countDown=function(timestamp,id){
	
	timestamp=timestamp||0;
	
	var hour = Math.floor(timestamp/60/60),
		mins = Math.floor((timestamp - hour*60*60)/60),
		secs = Math.floor(timestamp - hour*60*60 - mins*60),
		day = Math.floor((timestamp/60/60) / 24),
		left_hour = Math.floor( (timestamp - day*24*60*60) / 60 / 60 );

	if((''+mins).length <= 1)
		mins = "0" + mins;
		
	if((''+secs).length <= 1)
		secs = "0" + secs;

	document.querySelector('#'+id+' span').innerHTML='0'+left_hour+':'+mins+':'+secs;

},

start = function() {
	
	elems[0].setAttribute('data-sec',20);
	elems[1].setAttribute('data-sec',600);
	
	var update=function(){

		for(var i=0, elem; elem=elems[i]; i++) {
			
			if(elem.style.display=='none') continue;
			
			var sec = elem.getAttribute('data-sec')-1;

			if(sec <= 0) {
				elem.style.display='none';
				++cnt;
			}
			else {
				elem.setAttribute('data-sec',sec);
				countDown(sec, elem.id);
			}
			
		}

		if(cnt==elems.length)
			clearInterval(timer);
			
	},

	cnt=0,
	
	timer = setInterval(update, 1000);

};

start();

</script>
</body>
</html>
Ответить с цитированием