web-dev-qa-db-ja.com

Bootstrap 3のレスポンシブnavbarの問題

Bootstrapの最後のバージョンではレスポンシブnavbarに問題はありませんでしたが、バージョン3を動作させることはできません。トグルボタンが適切に表示され、ブランド以外はすべて表示されなくなりますが、ボタンはクリックに応答しません。 ( http://getbootstrap.com/components/#navbar-responsive )どんな助けでも大歓迎です!これまでのコードは次のとおりです。

<!DOCTYPE html>
<html>
<html lang="en">

    <head>
    <title>Hello World</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="js/bootstrap.min.js"></script>
        <link href="css/bootstrap.css" rel="stylesheet" media="screen">
    </head>

    <body>
        <section>   
            <div class="navbar navbar-fixed-top">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a href= "#" class="navbar-brand">Brand Name</a>
                <div class="nav-collapse navbar-responsive-collapse collapse">
                    <ul class="nav navbar-nav pull-right">
                        <li class="active "><a href="#">Home</a></li>
                        <li><a href="#">Link 1</a></li>
                        <li><a href="#">Link 2</a></li>
                        <li><a href="#">Link 3</a></li>
                        <li><a href="#">Link 4</a></li>
                    </ul>   
                </div>  
            </div>
        </section>
24
user2655858

以下のコードがあなたが探している効果を生み出すと信じています。具体的には、BS3には「navbar-responsive-collapse」クラスはありません(「bootstrap.css」ファイルを参照)。リリース3以降、Twitter Bootstrapはデフォルトでレスポンシブです。レスポンシブのコードフラグの多くはフレームワークに組み込まれ、明示的に呼び出す必要がなくなりました。

右揃えの折りたたみ可能なメニューのBS3バージョンは次のとおりです。

<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
    <span class="sr-only">Toggle navigation</span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
</button>
<a href= "#" class="navbar-brand">Brand Name</a>
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
    <ul class="nav navbar-nav pull-right">
        <li class="active "><a href="#">Home</a></li>
        <li><a href="#">Link 1</a></li>
        <li><a href="#">Link 2</a></li>
        <li><a href="#">Link 3</a></li>
        <li><a href="#">Link 4</a></li>
    </ul>   
</div>
</div>
12
PhilNicholas

これを変更:.navbar-responsive-collapse

これに:.navbar-collapse

元のポスターは彼自身の質問を解決しました。これが私を助けたので、より簡潔なバージョンをここに投稿しました。 PhilNicholasのバージョンは機能しませんでした。

3
KLEW

Twitter bootstrapは、バンドルされた Collapse jqueryプラグインを使用して、モバイル画面フォームファクターのナビゲーションメニューを切り替えます。あなたの質問はbootstrapのわずかに古いリリースに関するものですが、それでも関連性は保たれます。次の設定により、要素でトグルをトリガーできます。

data-toggle="collapse"およびdata-target="#valid_css_selector_of_target_element"

ここでの問題は後者です。Collapseプラグインの機能に関する限り、定義済みのbootstrapクラス.navbar-responsive-collapseがあるかどうかは関係ありません。ここで重要なことは、その要素があなたのhtml。ただし、bootstrapクラスの存在は、そのスタイル設定に非常に影響を与える可能性があります。

この記事を書いている時点でのbootstrapのドキュメント(と私は長い間信じています)は、例として、ターゲット要素を選択するための id属性の使用 を示しています。同じページに同じクラスを持つ複数の要素が存在する可能性がありますが、Idsはhtmlドキュメント内で一意であるため、少し良くなりました。だから、あなたの場合:

<div class="collapse navbar-collapse navbar-ex1-collapse"><div class="collapse navbar-collapse navbar-ex1-collapse" id="my_nav">のようなもので、トグルボタンにはdata-target="#my_nav"属性があります。

1
lost-and-found

ブートストラップ3にはjqueryが必要です。

->スクリプトも最後に配置するベストプラクティス。

<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="js/bootstrap.min.js"></script>
1
user3234300

これは私のために働いた:私は.navbar-ex1-collapseを.navbar-collapseに変更した。

0
baron5

Bootstrap 3.2.0。この問題を修正したのは、使用していたjQueryのバージョンを変更したことです。明らかに、jQuery 1.7.1は最新のブートストラップと互換性がありません。 jQuery 2.0.2、すべてが順調でした:

<script type='text/javascript' src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
0
Alex W

bootstrap.csbootstrap-responsive.css

<link href="css/bootstrap.css" rel="stylesheet" />  
<link href="css/bootstrap-responsive.css" rel="stylesheet" />

https://stackoverflow.com/a/9626716/212749

0
Azarsa