2014-12-13 7 views
0

Я создаю веб-страницу, где пользователь нажимает кнопку столько раз, сколько может за 5 секунд. В настоящее время таймер запускается при начальной загрузке страницы. Тем не менее, я хотел бы, чтобы таймер начинался, когда пользователь сначала нажимает кнопку «Click» и не сбрасывается каждый раз, когда пользователь нажимает кнопку после первого щелчка.активировать таймер при первом нажатии кнопки

Любые идеи о том, как это сделать? Заранее спасибо. Кнопка

HTML:

функции
<div class='buttonDiv'> 
     <button onclick='countClicks()' id='click' type="button">Click Me!</button> 
    </div> 

Javascript:

/*record clicks*/ 
var clicks = 0; 

function countClicks(){ 
document.getElementById('click').value = ++clicks; 
document.getElementById('result').innerHTML = clicks; 
} 


/* Timer countdown */ 
var secs=5; 
var counter=setInterval(timer, 1000); 

function timer(){ 
secs--; 
if (secs <= 0){ 
clearInterval(counter); 
document.getElementById("click").disabled = true; 

document.getElementById("seconds").innerHTML=0; 
return; 

} 
document.getElementById("seconds").innerHTML=secs; 
} 

ответ

1

Просто объявить переменную счетчика затем проверить, если он установлен внутри функции:

var counter; 

function countClicks(){ 

    if(!counter){//counter is not set 

     counter = setInterval(timer, 1000); 

    } else { 

     document.getElementById('click').value = ++clicks; 
     document.getElementById('result').innerHTML = clicks; 
    } 
} 
Смежные вопросы