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
はarticleTransition
機能でthis.articleMargin
の値が変化しても常に0です。そして、コンソールログ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を定義しましたか? –
申し訳ありません私は質問でそれを逃した。私は再び質問を編集しました。 – Subash
とthis.div.width()も同様に設定されているか、どこからでも.divを取得していますか? –