我想添加两个数字,但由于某种原因,我没有收到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