清除javascript对象中设置的超时
我在尝试清除对象中设置的超时时遇到问题,我有一个对象如下:清除javascript对象中设置的超时,javascript,oop,settimeout,Javascript,Oop,Settimeout,我在尝试清除对象中设置的超时时遇到问题,我有一个对象如下: 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 clearT
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:它启动一个超时循环,每X毫秒执行一次changeBanner函数
我还将click事件绑定到一个元素;我想重置超时循环,但我做错了什么:
我将timeout函数存储在此.interval中,并在单击之前调用的元素时将其清除。您在示例中拼写了interval错误
清除超时(_obj.inerval)我通过将设置超时和清除超时引用到窗口来解决它:
window.setTimeout(_obj.interval)
及
拼写错误事故或错误原因<代码>清除超时(_obj.inerval)代码>我发现:我修复了它,不管怎样它不工作是的,当然你已经确定“点击”被真正调用了?
window.clearTimeout(_obj.interval)