我想添加兩個數字,但由於某種原因,我沒有收到NaN。在原型函數中更改時更新數值變量
下面是示例代碼
function Slider(container, nav, pagination){
this.articleWidth = this.div.width() + 20;
this.divWidth = 960;
this.articleMargin = 0;
this.pageMargin = this.divWidth + this.articleMargin
}
Slider.prototype.articleTransition = function(pageNum){
var currArticle = pageNum -1;
this.articleMargin = currArticle * this.articleWidth;
this.container.animate({'margin-left': -this.articleMargin});
}
這裏一切正常。但this.pageMargin
始終爲0,即使this.articleMargin
的值在articleTransition
函數中發生變化。而當我的控制檯日誌this.pageMargin
是說NaN
。我試圖改變值this.articleMargin
的值,每次它在函數中被調用。
下面是我如何在我的HTML中調用該函數。
var slider = new Slider($('div#contentSleeve'), $('a.anav'), $('ul#scroller li'));
slider.pagination.live('click', function(){
slider.articleTransition($(this).data('num'));
});
你在哪裏定義articleWidth? – 2012-04-23 09:22:31
對不起,我錯過了它的問題。我再次編輯了這個問題。 – Subash 2012-04-23 09:23:51
和this.div.width()是否也設置好了,還是從別的地方得到了.div? – 2012-04-23 09:25:33