麻烦超时功能和jquery

时间:2012-03-15 11:29:23

标签: javascript jquery

您好在jquery函数中调用goon()时遇到以下Javascript错误。我认为它已被定义......但显然不是......?!为什么不呢?:

  

goon未定义var timeout = setTimeout('goon()',3000);

    $('.rs-slideshow').stop().fadeOut('fast',function(){
        $('html,body').stop().animate({
            scrollLeft:$offset
        }, 1000, function(){
                function goon(){
                    $('.rs-slideshow').fadeIn('fast');
                    $('#slideshow').clearQueue().rsfSlideshow('startShow');
                }
                var timeout= setTimeout('goon()', 3000);

        });
    }); 

1 个答案:

答案 0 :(得分:3)

您正在将'goon()'分隔的字符串'传递给在{strong>全局范围中评估的setTimeout。虽然该函数在全局范围内无法访问,但它只是动画回调的 local ,因此无法找到它。

直接传递引用:

var timeout= setTimeout(goon, 3000);

请注意,我也省略了(),因为这不会传递函数,而是执行函数并传递其返回的值。