83

折りたたみグループの開閉アニメーションを無効にするトリックはありますか?

4

4 に答える 4

163

Bootstrap3および4の場合

.collapsing {
    -webkit-transition: none;
    transition: none;
    display: none;
}
于 2014-03-15T19:15:36.413 に答える
30

Bootstrap 2CSSソリューション:

.collapse {  transition: height 0.01s; }  

注意:設定transition: noneすると、折りたたみ機能が無効になります。


Bootstrap 4解決:

.collapsing {
  transition: none !important;
}
于 2012-10-29T10:37:13.723 に答える
18

CSSソリューションを使用しているときに、展開する前と折りたたんだ後に1pxジャンプするのが少し面倒な場合は、Bootstrap3用の簡単なJavaScriptソリューション次に示します...

これをコードのどこかに追加するだけです。

$(document).ready(
    $('.collapse').on('show.bs.collapse hide.bs.collapse', function(e) {
        e.preventDefault();
    }),
    $('[data-toggle="collapse"]').on('click', function(e) {
        e.preventDefault();
        $($(this).data('target')).toggleClass('in');
    })
);
于 2014-06-10T19:22:16.500 に答える
13

質問に対する直接の答えではないかもしれませんが、公式ドキュメントへの最近の追加では、 jQueryを使用して遷移を完全に無効にする方法について次のように説明しています。

$.support.transition = false

受け入れられた回答に記載されているように.collapsingCSSトランジションをnoneに設定すると、アニメーションが削除されました。しかし、これは、FirefoxとChromiumの場合、ナビゲーションバーの折りたたみ時に望ましくない視覚的な問題を引き起こします。

たとえば、Bootstrapナビゲーションバーの例にアクセス、受け入れられた回答からCSSを追加します。

.collapsing {
     -webkit-transition: none;
     transition: none;
}

私が現在見ているのは、ナビゲーションバーが折りたたまれたとき、ナビゲーションバーの下の境界線が一時的に1ピクセルではなく2ピクセルになり、その後、当惑して1つに戻ります。jQueryを使用すると、このアーティファクトは表示されません。

于 2015-05-02T22:37:20.623 に答える