У меня есть класс (ниже упрощенный вариант)
function Folio() {
this.root = root = jQuery('body');
this.folioWrap = root.find('.items');
this.overflow_ = root.find('.detail-window');
this.itemClick_ = function(evt){
this.loadWork(url,750);
return false;
}
this.loadWork = function(path,delay){
this.overflow_.addClass("show");
setTimeout(function() {
folio.overflow_inner.html(" ").load(path, function() {
folio.loading_.hide();
folio.overflow_inner.addClass("show");
});
}, delay);
}
}
var folio = new Folio();
Проблема в методе loadWork .
не могу понять, почему в нем я не могу писать так:
this.loadWork = function(path,delay){
this.overflow_.addClass("show");
setTimeout(function() {
this.overflow_inner.html(" ").load(path, function() {
this.loading_.hide();
this.overflow_inner.addClass("show");
});
}, delay);
}
Пока не смог понять в чем дело, но если написать вместо
this.overflow_inner
-
folio.overflow_inner
.
То всё работает. Кто-нибудь подскажите, я только недавно начал писать что-то на js. нагуглить не смог ничего.
setTimeout используется потому что нужно получить данные с задержкой.