2014-02-10 2 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을 실행 한 결과. 이 시도 : 나는 당신의 setTimeout 함수 내에서 this 때문에, this의 값을 저장

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

참고는 window 아닌 .test 요소를 참조합니다.

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

당신은의 setTimeout에 기능을 통과해야,이

의 setTimeout 시도 (함수() {instance.playAnimation (이)}, 3000);

관련 문제