См. Этот код:
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.
Проблема в том, что мне не нравится ссылаться на объект как MyObject в обратном вызове слайда jQuery, но мне нужно добавить ссылку на тайм-аут в мой их массив, чтобы их можно было очистить. Есть ли лучший способ сделать это?
Спасибо!