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 I have the code above and sometimes it is working, sometimes it is not. I am wondering if the clearInterval actually clear the timer?? because there is this monitor button that will only be disabled when it is in monitoring function. I have another clearInterval when an element called .outputRemove is clicked. See the code below:
//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; }); }); But it was enabled for a while before it is disabled again. Will clearInterval get the program out from the setInterval function?
loopnamein the second snippet? What is that?clearloop(loopname)which contains theclearIntervalbut to simplify it, i changed it directly in the code above.