Bootstrap 3中的Navbar下拉列表

时间:2013-10-20 21:51:46

标签: javascript jquery html css twitter-bootstrap

我最近开始学习和使用Bootstrap 3.我想我会从一些简单的东西开始 - 一个标题和一个下拉栏。我使用了Bootstrap网站上的代码。

我从基本的Bootstrap模板开始,然后添加了bootstrap导航栏。到目前为止,这是我的代码。

<!DOCTYPE html>
<html>
  <head>
    <title>WEBSITE NAME</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="../../assets/js/html5shiv.js"></script>
      <script src="../../assets/js/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>

<h1>WEBSITE NAME</h1>

    <nav class="navbar navbar-default" role="navigation">
  <!-- Brand and toggle get grouped for better mobile display -->
  <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>

  </div>

  <!-- Collect the nav links, forms, and other content for toggling -->
  <div class="collapse navbar-collapse navbar-ex1-collapse">
    <ul class="nav navbar-nav">
      <li class="active"><a href="#">Home</a></li>
      <li><a href="#">Tutorials</a></li>
      <li><a href="#">Software</a></li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
        <ul class="dropdown-menu">
          <li><a href="#">Action</a></li>
          <li><a href="#">Another action</a></li>
          <li><a href="#">Something else here</a></li>
          <li><a href="#">Separated link</a></li>
          <li><a href="#">One more separated link</a></li>
        </ul>
      </li>
    </ul>
    <form class="navbar-form navbar-left" role="search">
      <div class="form-group">
        <input type="text" class="form-control" placeholder="Search">
      </div>
      <button type="submit" class="btn btn-default">Submit</button>
    </form>
    <ul class="nav navbar-nav navbar-right">
      <li><a href="https://twitter.com/"><span class="glyphicon glyphicon-comment"></span> Twitter</a></li>
      <li><a href="https://youtube.com/"><span class="glyphicon glyphicon-facetime-video"></span> YouTube</a></li>
        </ul>
      </li>
    </ul>
  </div><!-- /.navbar-collapse -->
</nav>

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="//code.jquery.com/jquery.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>

下拉菜单绝对不能正常工作 - 悬停或点击它。我需要做什么?

编辑:我使用了Safari网络检查器,资源“jquery.js”为红色(表示缺少)。这来自以下几行:                                     我是根据Bootstrap站点的默认基本页面编写的。 我不确定要更改路径以更正它。提供的项目文件夹中没有'jquery.js'文件。

4 个答案:

答案 0 :(得分:1)

成功!

我注意到Safari web检查器中无法访问'code.jquery.com/jquery.js'文件。问题是这一行:

<script src="//code.jquery.com/jquery.js"></script>

无法访问该文件。出于某种原因,http:部分丢失了。将代码更改为

<script src="http://code.jquery.com/jquery.js"></script>

解决了这个问题!好哇!

附加说明:它认为,如果这是在线运行而非本地运行,则不需要http:部分。

答案 1 :(得分:0)

我在取出“html5shiv”和“respond.min”参考后运行你的代码,下拉菜单工作正常。我怀疑jQuery和Bootstrap JS文件的文件路径可能不正确。

答案 2 :(得分:0)

部分: -

<ul class="nav navbar-nav navbar-right">
  <li><a href="https://twitter.com/"><span class="glyphicon glyphicon-comment"></span> Twitter</a></li>
  <li><a href="https://youtube.com/"><span class="glyphicon glyphicon-facetime-video"></span> YouTube</a></li>
    </ul>
  </li>
</ul>

有一个额外的&lt; / ul&gt;和&lt; / li&gt; - 这可能不会导致你的问题,但不会有帮助...

答案 3 :(得分:0)

我在本地将这个确切的文件加载到我的WAMP服务器上,一切都运行得很好: 您可能希望在页面底部更改此内容:     SRC = “http://code.jquery.com/jquery.js” 您的代码没有任何问题,HTML5 shiv和respond.js与您的菜单无关...

但是,您可能希望使用Google Chrome并使用inspect元素来确保您的参考点正确无误。

Hover在BS3中没有开箱即用,你可以使用自定义的javascript来实现......我在这里使用它:http://thisamericanjourney.com/ 将鼠标悬停在about菜单项上:        //这允许用户将鼠标悬停在菜单上而不点击它

   $(function() {


$('ul.nav li.dropdown').hover(function() {
    $('.dropdown-menu', this).fadeIn('fast');
}, function() {
    $('.dropdown-menu', this).fadeOut('fast');
});

    });