A better javascript setInterval
(function(time) { function again() { var procede = yourActionFunction(); if(procede) setTimeout(again, time); } again(time); })(5000);