请参阅此代码:
var MyObject = new function() {
this.tos = new Array();
this.show = function() {
this.clearTimeouts();
$("#divExample").slideDown(null,function() {
MyObject.tos[MyObject.tos.length] =
setTimeout(function(){MyObject.doSomething();} , 1800);
});
return;
};
this.doSomething = function() {
return;
};
this.clearTimeouts = function(){
for (var i=0; i<this.tos.length; i++)
clearTimeout(this.tos[i]);
this.tos = new Array();
return;
};
}
MyObject 及其方法在一些地方使用。也许这是一种不好的方法,我不知道。由于我自己的原因,我不想将它与 jQuery 联系得太紧密,所以这样保留它是有道理的,因为我可以轻松地将幻灯片更改为 style.display。
问题是我不喜欢在 jQuery 幻灯片的回调中将对象作为 MyObject 引用,但我必须将超时引用添加到我的数组中,以便它们都可以被清除。有一个更好的方法吗?
谢谢!