slideDownに問題があります。要素をきちんとスライドさせる代わりに、「揺れ」を開始し、アニメーションなしですぐに表示されます。一方、SlideUpは問題なく動作します。
jsFiddleを作成しました:http://jsfiddle.net/4x4PK/1/
ボタンをクリックすると問題が発生し+
ます。×
ボタンは問題なく動作します。
いくつかのJSプラグインがありon.('click' ...)
、問題のコードは一番下にあります。
slideDownに問題があります。要素をきちんとスライドさせる代わりに、「揺れ」を開始し、アニメーションなしですぐに表示されます。一方、SlideUpは問題なく動作します。
jsFiddleを作成しました:http://jsfiddle.net/4x4PK/1/
ボタンをクリックすると問題が発生し+
ます。×
ボタンは問題なく動作します。
いくつかのJSプラグインがありon.('click' ...)
、問題のコードは一番下にあります。
わかりました、解決策を見つけたようです。問題は、slideDown関数がアニメーションを開始する前に要素の高さを知る必要があると思うことでした(アニメーションの終点を知るため)。
after()を使用して要素を追加すると、高さを判断するのが早すぎます。
最後に、私はこの実用的な解決策を見つけました:
$(this).closest('.smoking-rate').after( $el );
$el.hide().slideDown()
誰かが確認できますか、高さが機能しなかった理由ですか?
slideUpアニメーションが完了したら、slideDownを呼び出す必要があります。
$el.slideUp(1).slideDown('slow')
する必要があります
$el.slideUp(1, function(){
$el.slideDown('slow');
});