2013-04-28 71 views
0

我遇到了麻煩試圖清除超時中的對象設置已經得到了,我有一個對象是這樣的:清除超時的JavaScript物件設定

var banner=function(options){ 

    this.s_btn=options.s_btn; 
    this.interval=null; 

    this.pos=0; 
    this.maxPos=4; 

    var _obj=this; 

    _obj.s_btn.bind("click",function(){ 
     //clear Timeout 
     clearTimeout(_obj.interval); 
     _obj.interval=null; 
     //Change banner with some FX 
     _obj.changeBanner($(this).index()); 
     //start timeout Again 
     _obj.setInt(); 
    }); 
    //Function that starts timeout 
    this.setInt=function(){ 
     _obj.interval=setTimeout(function(){ 
      //where slide to change 
      var to=(_obj.pos==_obj.maxPos)?0:Number(_obj.pos)+1; 
      //Change banner with some FX 
      _obj.changeBanner(to); 
      //starts bucle 
      _obj.setInt(); 
     },_obj.time); 
    } 
    _obj.setInt(); 
} 

有兩種方法: - changeBanner:它更改橫幅的圖像 - setInt:它啓動一個超時bucle,它每X毫秒執行一次changeBanner函數。

而且我已經綁定click事件的元素,我想重置超時bucle但即時通訊做錯了什麼:S

我店內this.interval超時功能,我清楚,當我點擊之前調用的元素。

+0

錯誤的事故或錯誤原因? 'clearTimeout(_obj.inerval);' – 2013-04-28 19:43:46

+0

我發現:S我修好了,反正它還沒有工作 – jsertx 2013-04-28 19:44:50

+0

當然你確定「點擊」實際上是叫? – 2013-04-28 19:46:08

回答

0

你在拼寫示例間隔錯

明確超時(_obj.inerval)

0

我已經通過它交給的setTimeout和clearTimeout到窗口解決了這個問題:

window.setTimeout(_obj.interval) 

window.clearTimeout(_obj.interval)