私のjQueryslideToggle()
実験
私が箱を開けたときになぜ私の箱が「ジャンプ」するのか誰かに教えてもらえますか?前半はスライドし、残りは「ジャンプ」しますか?
ありがとう、 ヨハネス
私のjQueryslideToggle()
実験
私が箱を開けたときになぜ私の箱が「ジャンプ」するのか誰かに教えてもらえますか?前半はスライドし、残りは「ジャンプ」しますか?
ありがとう、 ヨハネス
簡単な修正です。この CSS ルールをスタイルシートに追加します ( Firebug で動作するようにテスト済みで、この問題に関する過去の経験から、これが修正です):
ol.message_list { position: relative }
これは CSS のバグであり、jQuery のバグ自体ではありません。
あなたの場合の最も速い修正:
.message_container { width: 361px; }
<p>
正確な理由はわかりませんが、原因の問題を含むときにコンテナーに固定幅を与えないでください。それを与えると、ジャンプがなくなります。
css パディングと jquery の slideToggle はうまく連携しません。パディングをボックスアウトしてみてください。
slideToggle
この問題は、マージン/パディングではなく高さだけをアニメーション化する多くの場合に見つかりました。
したがって、次のようなものが解決する可能性があります。
$("#thediv").slideToggle().animate({"margin-bottom": "toggle"});
偶然にも、最も簡単に使用できるソリューションは、アニメーションのパディング/マージントップ/ボトムを使用してjQueryにカスタム関数を追加することだと思います。
//this function is to avoid slideToggle jQuery jump bug.
$.fn.slideShow = function(time,easing) { return $(this).animate({height:'show','margin-top':'show','margin-bottom':'show','padding-top':'show','padding-bottom':'show',opacity:1},time,easing); }
$.fn.slideHide = function(time,easing) {return $(this).animate({height:'hide','margin-top':'hide','margin-bottom':'hide','padding-top':'hide','padding-bottom':'hide',opacity:0},time,easing); }
そして使用例:
$(this).slideShow(320,'easeOutQuart');
$(this).slideHide(320,'easeOutQuart');
私のアニメーション化された不透明度のトグル tu の例は、必要に応じて変更できます。