Twitter引导程序导航栏下拉列表

时间:2012-12-28 15:45:21

标签: javascript css twitter-bootstrap

我在使用twitter bootstrap下拉导航栏工作时遇到了一些问题。我经历了很多教程,如果我从那里复制代码,它对我不起作用。在控制台中我收到以下错误

TypeError: $ is undefined
var old = $.fn.dropdown

这是我的代码:

<div class="container-fluid">
    <div class="row-fluid">
        <div class="span8">
            <!--Body content-->
            <div class="navbar">
                <div class="navbar-inner">
                    <ul id="tab" class="nav">
                        <li class="active"><a href="#Tab1" data-toggle="tab">Recent</a></li>
                        <li><a href="#Tab2" data-toggle="tab">Top</a></li>
                        <li><a href="#Tab3" data-toggle="tab">Near you</a></li>
                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Filters <b class="caret"></b></a>
                            <ul class="dropdown-menu">
                                <li><a href="#">Filter1</a></li>
                                <li><a href="#">Filter2</a></li>
                            </ul>
                        </li>
                    </ul>
                </div>
            </div>
        </div>
        <div class="span4">
            <!--Sidebar content-->
        </div>
    </div>
</div>

这是我的包含 - 他们加载没有问题:

    <link href="bootstrap/css/bootstrap.css" rel="stylesheet" media="screen">
    <script type="text/javascript" src="bootstrap/js/bootstrap-dropdown.js"></script> 
    <script type="text/javascript" src="jquery-1.7.2.min.js"></script> 

页面加载,但是当我点击Filters菜单项时,它会抛出上面提到的异常而没有任何反应。

1 个答案:

答案 0 :(得分:11)

您必须更改包含javascripts的顺序。 JQuery必须在bootstrap之前出现。

<link href="bootstrap/css/bootstrap.css" rel="stylesheet" media="screen">
<script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
<script type="text/javascript" src="bootstrap/js/bootstrap-dropdown.js"></script> 

编辑,原因:Javascript在加载后立即执行。在解析bootstrap-dropdown.js时,应该已经加载了jQuery。这样,jQuery功能将可用于bootstrap-dropdown。

相关问题