爲什麼在下面的代碼都是:爲什麼這些「this」和「that」變量都未定義?
this.fadeTime
that.fadeTime
不確定的,以及什麼纔是拯救這樣的內部變量在JavaScript類的最佳方式?
var SITE = SITE || {};
SITE.initialize = function() {
var fadeTime = 100;
that = this;
$('li#linkHome').click(function() {
resetPageLinks();
$('li#linkHome').addClass('active');
resetPages();
console.log(this.fadeTime); //undefined
console.log(that.fadeTime); //undefined
$('div#pageHome').fadeIn(that.fadeTime);
});
$('li#linkInfo').click(function() {
resetPageLinks();
$('li#linkInfo').addClass('active');
resetPages();
$('div#pageInfo').fadeIn(that.fadeTime);
});
$('li#linkAbout').click(function() {
resetPageLinks();
$('li#linkAbout').addClass('active');
resetPages();
$('div#pageAbout').fadeIn(that.fadeTime);
});
function resetPageLinks() {
$('ul.nav li').removeClass('active');
}
function resetPages() {
$('div.sitePage').hide();
}
}
定義了「SITE.fadeTime」嗎?這不是你在這裏發佈的代碼。 – apsillers
我只是打電話給SITE。初始化()來運行它,我有這個設置,以便我的所有變量和方法不會與其他人衝突。 –