[英]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.