2010-11-29 12 views
2

私はので、私はちょうど私が何をしようとしていますどのようなデモンストレーションを行います説明することは難しいです:

この作品罰金:

$(this).animate({ top: 200 }, 500); 

私は変数で「上部」値を置き換えるためにしようとしていますこのような

var x = 'top';  
if (condition) { x = 'left'; }  
$(this).animate({ x: 200 }, 500); 

しかし、これは失敗。

答えて

2

これを試すことができます。

var pos = {'top':200};  
if (condition) { pos = {'left':200}; }  
$(this).animate(pos, 500); 
3

オブジェクトを渡しています - このように事前に定義してください。 xは何でもよい。すなわち、「上」、「左」など。

obj[x] = 200; 

$(this).animate(obj, 500); 
+0

ない何も... –

+0

いいえ、何でもかまいません。アニメートはCSSプロパティのみを受け入れます。 –

+0

私は彼が望むもの、つまりダイナミックなアニメーションを構築することを理解しています。プロパティオブジェクトには、同じCSSのみの小道具のキーを使用できます。 –

0

トップはparameterです。任意のCSSプロパティを渡すことができます。

アニメーションが向かうCSSプロパティのマップ。

+0

彼は可変/動的CSSプロパティを渡す方法を尋ねています。 –

0

私はパーティーに少し遅れだけど、あなたはES6使用する場合は、オブジェクトキーを計算するために、これを使用することもできます。

x = 'top';  
if (condition) { x = 'left'; }  
$(this).animate({ [x]: 200 }, 500); 

参考:MDN