2 つの数値を加算しようとしていますが、何らかの理由で 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'));
});