0

次のコードを機能させようとしています。

この奇妙な問題があります。elem.dataを使用して値を取得すると、2番目の.animateが機能しませんが、使用すると、機能し"left" : "200px"ているように見えるなどの値を具体的に言及します。

下記のコードの直前を使用して存在elem.data('prevLeft')を確認しましたが、これらの値は存在し、正しいものです。elem.data('prevTop')console.log()

elem.animate({"width":"200px"},3000).animate({
    "left": elem.data('prevLeft'),
    "top": elem.data('prevTop')
 },2000);

何が問題になっているようで、変数に格納されている値を関数に渡す方法はありません.animate()か?


Stray関数が値をリセットしていたため、機能しいませんでした。上記のすべての方法を再試行しましたが、すべてうまくいきました。

ご面倒をおかけしてすみません。

4

2 に答える 2

1

編集、これを試してください:

var prevLeft = elem.data('prevLeft'),
var prevTop = elem.data('prevTop');

elem.animate({'width':'200px'},3000).animate({'top':prevTop,'left':prevLeft},2000);

svenhesseの答えがうまくいかなかったとしても、うまくいくかどうかはわかりません。

于 2012-12-13T15:14:30.290 に答える
1

これを試して:

var conf = {
    left: elem.data('left'), 
    right: elem.data('right')
};

elem.animate(conf, 200);
于 2012-12-13T15:15:43.413 に答える