私は、この問題に遭遇したとき(私がやり終えようとしていたとき)に、私のアニメーションをさまざまな要素に対して動的に動作させるために取り組んでいました。 JQueryのcss()メソッドを使用してプロパティをアニメートできません。私はアニメーションを、height、width、およびtopプロパティのハードコード値で処理することができました。ここでは、スニペットがあります:animate()は動的css()のプロパティでは動作しません
function shrinkSection(section){
var elem = section.SectionID;
$(elem).find(".content").fadeOut(500);
$(elem)
.animate({top: $(elem).css('top'), height: $(elem).css('height')}, 500)
.animate({width: $(elem).css('width')}, {duration: 500,
complete: function() {
$(elem).find(".icon").fadeIn(500);
$(elem).addClass("active");
}
});
}
console.log()
は$(elem).css('[PROPERTY]')
が正しいCSS値を返すていることが明らかになりました。なぜこれがうまくいかないのでしょうか?
要素を現在の 'top'から現在の' top'にアニメーション化すると、何も変わるはずはありませんか? –
それがshrinkSection()であることに注目してください。私は別のメソッド(growSection())を使用して要素をより大きな次元に展開し、元のサイズに戻します。 –
しかし '$(elem).css( 'height')'は現在の拡張された高さを返します。 –