function slide()
{
if($(\'.current\').is(\':last-child\')){
$(\'.current\').removeClass(\'.current\');
$(\'#imgholder\').first().addClass(\'.curr
This problem usually happens when you used setTimeout in recursion loop, for example in ajax callback and when you want to run something out of recursion, you expect setTimeout to work as past. remember to use setInterval in non-recursion functions.
The setTimeout
function only runs once! If you want to run it in more times you should use setInterval
:
var loop_handle= setInterval("slide()",'3000');
Also you can use setTimeout
in the end of the slide()
function to re-set-timeout again:
var loop_handle;
function slide() {
if($('.current').is(':last-child')) {
$('.current').removeClass('.current');
$('#imgholder').first().addClass('.current');
$('#imgholder').animate({left: '3920px'});
}
else {
$nxt=$(".current");
$(".current").removeClass("current");
$nxt.next().addClass("current");
$('#imgholder').animate({left: '-=980'},{duration: 'slow', easing: 'easeOutBounce' });
}
loop_handle = setTimeout("slide()",'3000');
}
loop_handle = setTimeout("slide()",'3000');