Показать сообщение отдельно
  #1 (permalink)  
Старый 12.07.2016, 10:54
wet wet вне форума
Интересующийся
Отправить личное сообщение для wet Посмотреть профиль Найти все сообщения от wet
 
Регистрация: 12.07.2016
Сообщений: 14

Таймер не обнуляется
Подскажите кто-нибудь где допустил ошибку, почему таймер не обнуляется? Нужно чтобы через определенный интервал (к примеру 10 сек) функция таймера брала значения из div
<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:01</span>)
        </div>    
    </div>
function countDown(timestamp = 0, id){
            if (timestamp < 0) timestamp = 0;
 
            var day = Math.floor( (timestamp/60/60) / 24);
            var hour = Math.floor(timestamp/60/60);
            var mins = Math.floor((timestamp - hour*60*60)/60);
            var secs = Math.floor(timestamp - hour*60*60 - mins*60); 
            var left_hour = Math.floor( (timestamp - day*24*60*60) / 60 / 60 );
 
            if(String(mins).length <= 1)
            {    
                mins = "0" + mins;
            }    
            if(String(secs).length <= 1)
            {    
                secs = "0" + secs;
            }    
            
            $('#'+id+' span').html( '0'+left_hour+':'+mins+':'+secs );
        }
    
        function aaa(e=false){
            $('.gray-line').each(function(){
                var seconds = $(this).attr("data-sec");
                
                var id = $(this).attr("id");
 
                // запускаем таймер
                var timer = setInterval(function(){
                    seconds = seconds - 1;
                    countDown(seconds, id);
 
                    // если время истекает скрываем блоки
                    if(seconds <= 0){
                        $('#'+id).hide();
                    }
                }, 1000);
                
                if (e)
                {    
                    clearInterval(timer);
                }    
            });
        }
        
        // первая обработка данных
        aaa();
        
        // далее запрашиваем данные с определенным интервалом, чтобы инфа всегда была актуальной
        setInterval(function(){ //alert('11');
            aaa(true);
        }, 10000);
Ответить с цитированием