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
Mam powyższy kod i czasami działa, czasami nie. Zastanawiam się, czy clearInterval faktycznie czyści licznik czasu ?? ponieważ istnieje ten monitorprzycisk, który będzie nieaktywny tylko wtedy, gdy jest monitoringaktywny. Mam inny, clearIntervalgdy .outputRemovekliknięto wywoływany element . Zobacz poniższy kod:
//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;
});
});
Ale był włączony przez chwilę, zanim został ponownie wyłączony. Czy clearIntervalprogram wyjdzie z setIntervalfunkcji?
clearloop(loopname)która zawiera, clearIntervalale aby ją uprościć, zmieniłem ją bezpośrednio w powyższym kodzie.
loopnamew drugim fragmencie? Co to jest?