2016-03-15 3 views
0

Привет, ребята, у меня есть этот сценарий обратного отсчета, но я хочу, чтобы он подсчитывался и вместо обновления div-диапазона обновлял значение индикатора выполнения.Таймер обратного отсчета до счета

HTML

<progress value="**UPDATE THIS**" max="780"></progress> 

скриптом

var sec = $('#update span').text(), secInit = sec; 
     var timer = setInterval(function() { 
      $('#update span').text(--sec); 
      if (sec == 0) { 
       sec = secInit; 
       $.ajax({ 
        url: "{{ url('/user/update') }}", 
        type: "GET", 
        data: { 'id' : {{ Auth::user()->id }} } 
       }); 
      } 
     }, 1000); 

Любая идея?

Спасибо, Tiago

ответ

2

Дайте прогресс бар идентификатор, такой как

<progress id="progress-bar" value="**UPDATE THIS**" max="780"></progress> 

и использовать некоторые JavaScript, чтобы изменить значение каждого второго, например.

var timer = setInterval(function() { 
      var progbar = document.getElementById("progress-bar"); 
      progbar.value = progbar.value < 780 ? +progbar.value + 1 : 0; 
     }, 1000); 

Fiddle

+1

* progbar.value * будет строка, поэтому '+ progbar.value + 1'. ;-) – RobG

+0

С максимальным диапазоном 780, 1 секунда действительно медленная для этой демонстрации. Попробуйте 10 мс. Тогда легко увидеть, что он подсчитывает. В противном случае нам нужно будет ждать 13 минут, чтобы увидеть, как демо достигает 100%. – Clomp

+0

Btw, счетчик неисправен. Он заканчивается на 781, а не на 780. Возьмите знак = из тернарной проверки. Это должно быть progbar.value <780, если после этого вы сделаете +1. См.: Clomp