I have a full ajax application. i am using the below code to update time every minute. But if i keep the browser open for >10 min the browser becomes non responsive/slow. Suggest a better code.
function tick()
{
var d = new Date();
var time = padNumber(d.getHours(),2)+':'+padNumber(d.getMinutes(),2);
$('#WeatherBoLfTime').html(' '+time);
t = setInterval('tick()',60000);
}
$(document).ready(function(){
tick();
})
The problem is that you’re calling
setIntervalmany times and never clearing any of them. So after a while you have lots of interval callbacks running at around the same time.Change
to
When I first started out coding JavaScript I took down a Lycos web server with AJAX calls because I made the same mistake 🙂
Note that since you’re displaying the actual time, you should use a much shorter timer than 1 minute. If I land on your webpage at 13:42:30, the time will not be updated until ~13:43:30. To keep it in sync with the machine’s time, you would probably want to set the timer for
1000.