オブジェクトを
使用しているとき、{'margin-left':$masterWidth}
または作成しているとき。したがって、 Object Initializer()構文{$propToAnimate:$masterWidth}
を使用してオブジェクトを作成するときに何をしているのかを知る必要があります。{k0:v0, k1:v1}
var a = {prop:20}
あなたの場合に最も重要なことでありvar a = {'prop':20}
、どちらもまったく同じことを行います-と呼ばれる1つのプロパティを持つオブジェクトを作成しますprop
。すでにvar prop = 'different'
他の場所で言っているかどうかは関係ありません。prop
で使用されると文字通りの名前として扱われ、{prop:20}
評価されません。
コードの2番目のバージョンを機能させるためにできることは、a['prop']
オブジェクトの構文を利用することです。だから次のようなもの:
var prop = 'margin-left';
var obj = {}; // Create a new object with no propeties
obj[prop] = masterWidth; // Add a new property to obj (using the value of the variable prop as the name of the new property)
次に、がありますobj['margin-left'] == masterWidth
。そして、このオブジェクトをアニメーション関数で使用できます...animate(obj);
私はあまり混乱していないことを願っています!