2013-02-10 72 views
0

http://jsfiddle.net/zAFND/640/定時器不正確計數

在jsfiddle我有,我有問題是響應時間。它增加2秒而不是1秒。我相信這個問題是因爲我有兩個問題,所以它會在每個響應時間文本輸入中計算兩個問題的秒數,因此每次都會增加2秒。但我的問題是,如何使定時器計數正常排序了這一點:

代碼響應時間:

` VAR響應= 「00:00:00」, responseparts = response.split(」 :'), responsehours = + responseparts [0], responseminutes = + responseparts [1], responseseconds = + responseparts [2];

 function correctResponse(responsenum) { 
     return (responsenum < 10) ? ("0" + responsenum) : responsenum; 
    } 

var responsetimer = []; 
$('.queWrap').each(function(index, element) { 
var wrap=$(this), 
input = wrap.find('.responseTime'), 
checkbox=wrap.find('#ck-button').find('input'), 
clickInput=wrap.find('.mouseClick'); 


    responsetimer[index] = setInterval(function() { 
    responseseconds++; 
    if (responseseconds == 60) { 
     responseseconds = 00; 
     responseminutes++; 

     if (responseminutes == 60) { 
      responseminutes = 00; 
      responsehours++; 

      if (responsehours <= 24) { 
       clearInterval(responsetimer); 
       return; 
      } 

     } 
    } 
    input.val(correctResponse(responsehours) + ":" + correctResponse(responseminutes) + ":" + correctResponse(responseseconds)); 
}, 1000); 

`

+0

你一直在這一段時間呃? jsfiddle計數是640.這是一個記錄。 – mrtsherman 2013-02-10 04:19:35

+0

@mrtsherman很多測試哈哈,我只是使用相同的小提琴進行不同的測試和記錄數字,就像這個640 – user2056342 2013-02-10 04:26:37

回答

4

移動VAR的聲明

response = "00:00:00", 
responseparts = response.split(':'), 
responsehours = +responseparts[0], 
responseminutes = +responseparts[1], 
responseseconds = +responseparts[2]; 

每個回調內部

http://jsfiddle.net/h8srH/1/

另外,更改您的CK-按鈕ID的上課。 Id的意思是獨一無二的。