http://Twitter.github.com/bootstrap のように、
私が今取り組んでいるサイトはレスポンシブです。
遷移アニメーションを削除したい
折りたたまれたnavbarメニューボタンをクリックすると。
上の写真は私が尋ねているもののスクリーンショットです。
TOP-RIGHT-CORNERには、3行のメニューボタンがあります。
Bootstrapは、CSS3トランジションを使用して、折りたたむのと同じ方法でレスポンシブナビゲーションバーのトランジションアニメーションを実現します。 navbarのみのトランジションをオフにするには(他のトランジションはそのままにしておきます)、CSSをオーバーライドするだけです。
折りたたみ可能なコンテナにno-transition
などのクラスを追加することをお勧めします(名前は任意です)
<div class="nav-collapse no-transition">
そして、CSS3移行を無効にするCSSルールを定義しますBootstrap defined(CSSルールが解析されていることを確認してくださいafterbootstrap.css):
.no-transition {
-webkit-transition: height 0;
-moz-transition: height 0;
-ms-transition: height 0;
-o-transition: height 0;
transition: height 0;
}
しかし、そこで止まらないでください!BootstrapのJavaScriptは、遷移がブラウザでサポートされている場合に遷移が行われると想定するようにハードコードされています。上記の変更を行うだけで、ブラウザの移行終了イベントが発生するのを待機しているため、折りたたみオブジェクトは1回の開閉サイクルの後に「ロック」することがわかります。これを回避するには、2つの理想的ではない方法があります。
最初のオプション:遷移終了イベントを待たないようにbootstrap-collapse.jsをハックします。 Bootstrapを使用することは、将来の更新が苦痛になるため、素晴らしいアイデアではありません。この特定の回避策は、他のBootstrap no-transition
クラスを付与するJavaScriptコンポーネント。
this.$element.hasClass('no-transition') || (this.transitioning = 1);
2番目に推奨されるオプション:移行を無効にする代わりに、非常に短い移行時間を使用します。これは、あなたが求めたトランジションアニメーションを完全に削除するものではありませんが、低電力のモバイルデバイスのパフォーマンスに顕著な悪影響を与えることなく、同様の結果を達成します。この方法の利点は、Bootstrap JSファイル、およびをハッキングする必要がないことです。no-transition
を適用できます]単なる崩壊ではなく、あらゆる要素!
.no-transition {
-webkit-transition: height 0.01s;
-moz-transition: height 0.01s;
-ms-transition: height 0.01s;
-o-transition: height 0.01s;
transition: height 0.01s;
}
ブートストラップはアニメーション中に折りたたみクラスを追加するため、上書きする必要があります。
.navbar-collapse.collapsing {
-webkit-transition: height 0.01s;
-moz-transition: height 0.01s;
-ms-transition: height 0.01s;
-o-transition: height 0.01s;
transition: height 0.01s;
}
JQueryを使用してアニメーションを無効にする 単純な非CSSメソッド は次のとおりです。
$.support.transition = false
Bootstrap.cssを呼び出した直後にカスタムcssファイルに追加します
.collapsing {
-webkit-transition: height 0.01s;
-moz-transition: height 0.01s;
-ms-transition: height 0.01s;
-o-transition: height 0.01s;
transition: height 0.01s;
}
もちろん、非常に短い期間でも高さを移行するとペイントがトリガーされるため、ブラウザはフレームレートを30程度に落とす可能性が高い作業を行う必要があります。 bootstrap=ファイルを編集することも、更新が複雑になるため理想的ではありません。
これがまだあなたのサイトにしたいことである場合、良いニュースは、現在のbootstrap=バージョンはnavbarの遷移をもう持っていないようだということです。 http ://getbootstrap.com/components/#navbar
以下のこのコードにより、navbarのデフォルトが開きます。トリックは、クラスcontainer
およびnav-collapse
をauto
に設定してdivの高さを設定することです。 3行のメニューボタンも完全に非アクティブにする場合は、以下のコードからdata-toggle="collapse"
を削除します。
<div class="navbar">
<div class="navbar-inner">
<div class="container" style="height:auto">
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<!-- Be sure to leave the brand out there if you want it shown -->
<a class="brand" href="#">Project name</a>
<!-- Everything you want hidden at 940px or less, place within here -->
<div class="nav-collapse" style="height:auto">
<!-- .nav, .navbar-search, .navbar-form, etc -->
<ul class="nav">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</div>
</div>
</div>
</div>