我有兩個開始和停止按鈕我用作定時器的div。我創建了一個json對象來存儲一些時間變量和其他一些東西。當我點擊開始,計時器工作。我將其中一個對象的屬性設置爲等於超時功能current_job = jobs[current_job_id];
,然後是current_job.t = setInterval(function(){...
。setTimeout加倍
雖然我點擊其他按鈕之一,但兩個setIntervals似乎加倍。我究竟做錯了什麼?演示在這裏: http://codepen.io/EightArmsHQ/pen/2d60722bb802bd1c3da5fe42cbc15442
而最下方的代碼:
var jobs = [];
$(".job").each(function(i){
jobs[i] = {
"start_time" : false,
"stop_time" : false,
"job_number" : $(this).find("h1").text(),
"time" : 0,
"chunk_id" : false,
"t" : false,
}
$(this).attr('id', i);
})
$(".start_timer").click(function(){
current_job_div = $(this).closest(".job");
current_job_id = parseInt(current_job_div.attr("id"));
current_job = jobs[current_job_id];
current_job.t = setInterval(function(){
current_job.time += 1;
current_job_div.find(".time_spent").text(make_time(current_job.time));
},1000);
});
$(".stop_timer").click(function(){
current_job_div = $(this).closest(".job");
current_job_id = parseInt(current_job_div.attr("id"));
current_job = jobs[current_job_id];
clearInterval(current_job.t);
});