我有一个幻灯片显示,以间隔5000
更改图像。
显示一个图像和另一个图像之间的进度条的功能如下:
function timebar(){
$('#timebar').stop().css({width:0});
$('#timebar').animate({width:'100%'},5000);
}
我在幻灯片放映后调用它,以便它们同时处理。
我希望循环此功能,以便为每个幻灯片重置时间栏:
function timebar(){
$('#timebar').stop().css({width:0});
$('#timebar').animate({width:'100%'},5000);
setTimeout(timebar(),5000);
}
但是,完成此操作后,出现错误
Maximum call stack size exceeded
。如何让此功能每隔
5000
ms重复一次? 最佳答案
您需要将函数引用传递给setTimeout
,当前您正在递归地调用timebar()
函数,而setTimeout
根本没有用。
您需要使用
setTimeout(timebar,5000);
代替
setTimeout(timebar(),5000);