私は、単一のイメージを取り、それに特定の幅を適用する次のコードを持っている:私は画像のjQueryのコレクションを扱うのまわりで私の頭を取得するために苦労していますが、jQueryのコレクション、機能および組織
function Foo (img) {
this.image = img;
}
Foo.prototype._getWidth = function() {
return this.image.data('largest') + 'px';
};
Foo.prototype.applyWidth = function() {
this.image.css('width', this._getWidth());
};
var img = Foo($('img'));
img.applyWidth();
をforループを持たない$('img')
や、それぞれの関数の中に$.each()
など(私は上記の2つ以上の関数を持っています)などです。
は、これまでのところ、私が出ている最高です:
var temp = [];
function Create (imgs) {
$.each(imgs, function(i){
temp[ i ] = new Foo ($(this));
});
return temp;
}
Create($('img'));
$.each(temp, function() {
$(this).applyWidth();
}):
これは正常に動作しますが、それは組織的な感じがしない、ずさんな感じ。
最後に、以下についていくつかのガイダンスをお願いします。
これは名前空間
Theme
で理想的です。モジュールパターンを使ってTheme.Images
の下にこの方法をしたいと思います。これは可能ですか?名前空間
Theme.Images
の下で、各img
が_getWidth()
の固有の値を持つことになり念頭に、temp
内のすべての画像にapplyWidth()
を呼ぶだろうなTheme.Images.applyWidth()
などの呼び出しを行うことも可能である場合。現時点では、私はループTheme.Images.temp
を呼び出し、applyWidth()
をループ内に呼び出す必要があると信じています。
私はJavaScriptの継承の点を本当に感謝し始めており、それを続行したいと考えています。
は非常によく私のファジーの理解をクリア、明確な答えをいただき、ありがとうございます。 – mikedidthis
問題ありません。 @mikedidthisを助けてうれしい^ _ ^ – Neal