0
一個setTimeout的循環
假設我有以下代碼:停止,其中包含與jQuery
var sequencerRun = function(){
var currentTime = 0
var starting = 200
for(var k = 0; k < 16; k++){
$(".instrument td .beat" + k).each(function(){
setTimeout(blinker, currentTime,$(this));
})
currentTime += starting
}
}
var timerId;
var runSeq = function(){
setInterval(sequencerRun,3200);
}
$('.play').click(function(){
sequencerRun();
runSeq();
})
$('.stop').click(function(){
//??????
})
我使用這個代碼的方式,通過我的鼓機我建立序運行。 sequencerRun
貫穿使用table
構建的矩陣,並檢查每列以查看它是否會播放相應的聲音。我正在做的是分別在不同時間(0,200,400,...,1600)在每列(1-16)安排檢查,分別使用setTimeout(blinker, currentTime,$(this));
。問題是這些事件是在sequencerRun
上的每次調用中立即安排的。因此,如果sequencerRun
被調用,並且我在時間850點擊,我想要所有setTimeouts與時間1000,1200,1400,1600不調用blinker
。無論如何要做到這一點?
'的setTimeout(閃燈,currentTime的,$(本));'我想停止正在通過這個setTimeout的運行計劃的。我正在編輯帖子。 – theamateurdataanalyst
@theamateurdataanalyst,看我更新的回答 – AmmarCSE
夥計。棒極了。謝謝! – theamateurdataanalyst