2013-02-10 73 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的意思是独一无二的。