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 no. Mi chiedo se il clearInterval cancella effettivamente il timer ?? perché c'è questo monitorpulsante che sarà disabilitato solo quando è in monitoringfunzione. Ne ho un altro clearIntervalquando si .outputRemovefa clic su un elemento chiamato . Vedi il codice qui sotto:
//remove row entry in the table
$('#status_table').on('click', '.outputRemove', function () {
deleted= true;
bigloop= window.clearInterval(bigloop);
var thistr=$(this).closest('tr');
thistr.remove();
$('#monitor').button('enable');
$('#status_table tbody tr').find('td:first').text(function(index){
return ++index;
});
});
Ma è stato abilitato per un po 'prima di essere nuovamente disabilitato. Uscirà clearIntervalil programma dalla setIntervalfunzione?
clearloop(loopname)che contiene il clearIntervalma per semplificarlo, l'ho modificata direttamente nel codice sopra.
loopnamenel secondo frammento? Cos'è quello?