2014-02-10 78 views
0

我要實現我的應用程序超時功能。如何在我的情況下創建一個setTimeout?

setTimsout代碼似乎並沒有工作。它在我的控制檯中輸出'call here'而不是等待3秒鐘。

誰能給我爲什麼發生這種情況的提示?謝謝!

main.prototype.init = function(){ 
    var instance = this; 
    $('.test').each(function(){ 
       //codes….. 
        window.setTimeout(instance.playAnimation(this), 3000)      
     }); 
} 

main.prototype.play = function(item){ 
    console.log('call here') 
} 

回答

2

那是因爲你沒有傳遞功能setTimeout,但在執行playAnimation的結果。試試這個:

var _this = this; 
setTimeout(function() { 
    instance.playAnimation(_this); 
}, 3000); 

注意,我救了斷this的價值,因爲你this功能setTimeout裏面將涉及window,而不是.test元素。

1
window.setTimeout(function(){instance.playAnimation(this);}, 3000) 
1

你要通過功能setTimeout的,試試這個

的setTimeout(函數(){instance.playAnimation(這)},3000);

相關問題