Показать сообщение отдельно
  #1 (permalink)  
Старый 31.07.2014, 19:05
Аспирант
Отправить личное сообщение для dasser Посмотреть профиль Найти все сообщения от dasser
 
Регистрация: 17.06.2014
Сообщений: 56

таймер по суме чекбоксов
Всем привет! есть задача - сделать таймер с обратным отсчетом времени для формы если выбраны один ели несколько checkbox'ов. value checkbox'ов - количество сумирующихся секунд.
Форма:
<form name="formText">
<input type="checkbox"  id="r1" value="10"> 10 сек<br>
<input type="checkbox"  id="r2" value="20"> 20 сек<br>
<input type="checkbox"  id="r3" value="30"> 30 сек<br>
<input type="checkbox"  id="r4" value="40"> 40 сек<br>
<input type="checkbox"  id="r5" value="50"> 50 сек<br><br>

<input type="button" onclick="sums()" value="считай">
<br>Время на тест:
<input style="width:20px;" type="text" name="sumOut" disabled="false" value="">сек.
</form>
 <div class="pr"></div>

Код:
function sums()
{
 sum=0;
 for(i=1;i<6;i++)
 { 
  var elem=document.getElementById("r"+i);
  if(elem.checked)sum=sum+parseInt(elem.value);
 }
 document.formText.sumOut.value=sum;
}

$(window).load(function(){
var $progressBar = $(".pr"), $legend = $('.prspan');
    count = 0, 
	last_time = 10,
	laster = 0,
    ticks = 100, prc = 0, dt = ticks / last_time, 
    timer = $.timer(function() {
        count++;
        prc = (((count/60) * 100) / (ticks/60)).toFixed(0);
        $progressBar.css({width: prc + "%"});
        laster = last_time - Math.round(count / dt);
        $legend.html(prc + ' %' + ' - <i style="font-size:70%;">' + "(осталось" + laster + " сек)</i>");
        if (count >= ticks) {
            timer.stop();
        }
		return false;
    });
timer.set({ time : 1000 / dt, autostart : true });
});

остановился на обновлении сумы для счетчика после выбора checkbox'ов. Думаю решается через ajax, но как? спс

Последний раз редактировалось dasser, 31.07.2014 в 19:44.
Ответить с цитированием