JQueryでトグルアニメーションに問題があります。サブアイテムがあるメニューがあり、メインアイテムのホバー上をスライドしてスライドします。しかし、これは大丈夫ですが、長い項目のリストでは、slideDown()アニメーションが完了するのを待たずに、オープニングを止め、メニューをスライドさせてシャットダウンすることができます。 Jquery slidesToggleが呼び出された後に完全に開かない
$('.menubar-topitem').on('mouseenter',function(){
$(this).children('.menubar-inner').stop(true).slideDown();
}).on('mouseleave',function(){
$(this).children('.menubar-inner').stop(true).slideUp();
});
このコード
は、しかし、私は当時のメニュー項目にカーソルを合わせると、サブメニューが唯一の私はそれを最初に停止する前に、アニメーションが達し限り開き、私が必要とするもの実現しています。 JQueryは、アニメーションが初めて停止したときのサブメニューの高さを保存していて、2回目までしか開きません。私はstop(true、true)を使用してこの問題を解決できることを認識していますが、これはアニメーションに恐ろしいジャンプを引き起こします。とにかく、アニメーションを完成させることなくこの動作を防ぐことができますか、またはユーザーがジャンプを見ることはできませんが、フローティングメニューシステムが表示されるように回避することはできますか?
'stop(true)'から 'true'を削除してみてください。 – Purag
Mmmm、 '.on()'を使って質問するのが好きです。 – Jasper
@Purmouがtrueを取り除くだけで、アニメーションが正常に開始しないようにすることができます。代わりに、静止状態にジャダー効果をもたらします。ソリューションについては、以下の受け入れられた回答を参照してください。 – CodePB