javascript – setTimeout只运行一次?

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');

我把这段代码放在头部分,而setTimeout只运行一次

请帮助
请参见
http://www.beta.storeji.in/

setTimeout应该只运行一次.你正在寻找setInterval.

var loop_handle = setInterval(slide, 3000);

另外,第二个参数应该是一个数字,而不是字符串.当函数调用不需要任何参数时,最好是引用该函数而不是使用一个字符串.字符串将被转换为一个函数.该功能将在窗口的范围内执行.

  setInterval("slide()", 3000);
//becomes
  setInterval(Function("slide();"), 3000);
翻译自:http://stackoverflow.com/questions/7867427/settimeout-runs-only-once

转载注明原文:javascript – setTimeout只运行一次?