簡體   English   中英

麻煩超時功能和jquery

[英]Trouble with Timeout function and 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);

        });
    }); 

您正在傳遞一個String(由' s分隔的'goon()'到您的setTimeout ,它在全局范圍內進行評估。 雖然該函數在全局范圍內不可訪問,但它只是動畫回調的本地函數,因此無法找到它。

直接傳遞引用:

var timeout= setTimeout(goon, 3000);

請注意,我也省略了()因為這不會傳遞函數,而是執行函數並傳遞其返回的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM