0

「ブーメラン」アニメーションを作成したい (2 つ目のアニメーションでは、選択した要素を元の値に戻すチェーン アニメーション)。

要素の attr 値が元の値 (IOW、最初の jQuery アニメーションによって変更された後に更新されない) として表示されるという私の仮定が正しければ、(少なくとも理論的には) 次のようにプログラムでそれらを元に戻すことができるはずです (疑似スクリプト):

$('something').animate( { fontSize: 1.5em, other stuff... } ).animate( { fontSize: $('something').attr(fontSize } ) ...

私夢見てるの?別のオプションは、最初のアニメーションの後にコールバック関数で .AddClass() を使用して値を元に戻すことですが、可能であれば他の方法をお勧めします。AddClass() を介して元に戻すと、スピード違反の弾丸よりも非常にぎくしゃく/速くなり、「ばかげている」ように見えます。

4

2 に答える 2

1

css-attribute を読みたい場合は、やめてください

var size = $('something').attr(fontSize };

行う

var size = $('something').css('font-size');

$('#someId').animate({fontSize: size},3000);
于 2013-08-02T22:55:05.660 に答える
1

fontSizeは CSS プロパティであり、 で設定または取得できる要素属性ではありません.attr()。次のようなことができます。

$('something').data("fontSize",$('something').css("fontSize"))
              .animate( { fontSize: "1.5em" }, 1000 )
              .animate( { fontSize: $('something').data("fontSize")}, 1000 );

…だけど、なんかダサい。プロパティを記憶するためにローカル変数を使用することもできます。

var $something = $('something'),
    fontSize = $something.css("fontSize");
$something.animate( { fontSize: "1.5em" }, 1000 )
          .animate( { fontSize: fontSize}, 1000 );

元のコードに構文エラーがあることにも注意してください。引用符で囲む必要があり1.5emます。

「ブーメランアニメーションを作りたい」

boomerang次のように言うことができるように、プラグインを作成することを検討しましたか?

$('something').boomerang( {fontSize: "1.5em"});

そうすれば、プラグインを使用するときに表示する必要がないプラグイン内に不格好さが含まれます...

于 2013-08-02T22:56:42.493 に答える