stop - setinterval javascript ejemplo
¿Se puede llamar a clearInterval() dentro de setInterval()? (1)
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
Tengo el código de arriba y algunas veces funciona, otras veces no. Me pregunto si clearInterval borrará el cronómetro. porque hay este botón de monitor
que solo se desactivará cuando esté en la función de monitoring
. Tengo otro clearInterval
cuando se hace clic en un elemento llamado .outputRemove
. Vea el código a continuación:
//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;
});
});
Pero estuvo habilitado por un tiempo antes de volver a deshabilitarse. ¿ clearInterval
el programa de la función setInterval
?
Sí tu puedes. Incluso puedes probarlo:
var i = 0;
var timer = setInterval(function() {
console.log(++i);
if (i === 5) clearInterval(timer);
console.log(''post-interval''); //this will still run after clearing
}, 200);
En este ejemplo, este temporizador se borra cuando alcanzo 5.