bigloop=setInterval(function() {
var checked = $('#status_table tr [id^="monitor_"]:checked');
if (checked.index()===-1 ||checked.length===0 ||){
bigloop=clearInterval(bigloop);
$('#monitor').button('enable');
}else{
(function loop(i) {
//monitor element at index i
monitoring($(checked[i]).parents('tr'));
//delay of 3 seconds
setTimeout(function() {
//when incremented i is less than the number of rows, call loop for next index
if (++i < checked.length) loop(i);
}, 3000);
}(0)); //start with 0
}
}, index*3000); //loop period
Ho il codice sopra e a volte funziona, a volte non lo è. Mi chiedo se clearInterval cancella effettivamente il timer ?? perché c'è questo pulsante monitor
che verrà disabilitato solo quando è nella funzione monitoring
. Ho un altro clearInterval
quando si fa clic su un elemento chiamato .outputRemove
. Vedere il codice di seguito:Can clearInterval() può essere chiamato all'interno di setInterval()?
Ma è stato abilitato per un po 'prima che venga nuovamente disattivato. Il clearInterval
uscirà dalla funzione setInterval
?
Forse il problema è 'loopname' nel secondo frammento di? Cos'è quello? – bfavaretto
errore di battitura. ho avuto una funzione 'clearloop (loopname)' che contiene il 'clearInterval' ma per semplificarlo, l'ho modificato direttamente nel codice sopra. – yvonnezoe