2013-04-28 36 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)