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' });
}
}
var loop_handle= setTimeout("slide()",'3000');
我已将此代码放在 header 部分中,并且setTimeout仅运行一次。
最佳答案
setTimeout
应该只运行一次。您正在寻找setInterval
。
var loop_handle = setInterval(slide, 3000);
另外,第二个参数应该是数字,而不是字符串。当函数调用不需要任何参数时,最好引用函数而不是使用字符串。字符串将被转换为函数。该功能将在窗口范围内执行。
setInterval("slide()", 3000);
//becomes
setInterval(Function("slide();"), 3000);