2013-02-25 2 views
0

Использования начальной загрузка 2,2 У меня следующая проблема:Bootstrap отзывчивой раскладка не работает должным образом

Когда я сузить окно FireFox с отзывчивым компоновщик, нав-бар исчезает и я получаю кнопку в правом вместо этого. Но нажатие на эту кнопку ничего не делает (обычно, меню должно выскочить).

Я скопировал этот HTML:

http://www.w3resource.com/twitter-bootstrap/example-responsive-design-with-twitter-bootstrap.html

и я заменил CSS и JS импорта по следующим:

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

, которые являются стандартными .css и JS файлы, которые один получает, когда загрузка Bootstrap. CSS и bootstrap.js загружаются должным образом.

В bootstrap.js действительно содержит раздел коллапс (я вставил эту часть ниже)

Кто-нибудь есть какие-либо идеи, почему нажав на кнопку после распада не имеет никакого эффекта?

Я использую firefox 18.0.2, отзывчивый макет работает при открытии других сайтов.

Большое спасибо

Collapse раздел bootstrap.js:

/* ============================================================= 
* bootstrap-collapse.js v2.2.2 
* http://twitter.github.com/bootstrap/javascript.html#collapse 
* ============================================================= 
* Copyright 2012 Twitter, Inc. 
* 
* Licensed under the Apache License, Version 2.0 (the "License"); 
* you may not use this file except in compliance with the License. 
* You may obtain a copy of the License at 
* 
* http://www.apache.org/licenses/LICENSE-2.0 
* 
* Unless required by applicable law or agreed to in writing, software 
* distributed under the License is distributed on an "AS IS" BASIS, 
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
* See the License for the specific language governing permissions and 
* limitations under the License. 
* ============================================================ */ 


!function ($) { 

    "use strict"; // jshint ;_; 


/* COLLAPSE PUBLIC CLASS DEFINITION 
    * ================================ */ 

    var Collapse = function (element, options) { 
    this.$element = $(element) 
    this.options = $.extend({}, $.fn.collapse.defaults, options) 

    if (this.options.parent) { 
     this.$parent = $(this.options.parent) 
    } 

    this.options.toggle && this.toggle() 
    } 

    Collapse.prototype = { 

    constructor: Collapse 

    , dimension: function() { 
     var hasWidth = this.$element.hasClass('width') 
     return hasWidth ? 'width' : 'height' 
    } 

    , show: function() { 
     var dimension 
     , scroll 
     , actives 
     , hasData 

     if (this.transitioning) return 

     dimension = this.dimension() 
     scroll = $.camelCase(['scroll', dimension].join('-')) 
     actives = this.$parent && this.$parent.find('> .accordion-group > .in') 

     if (actives && actives.length) { 
     hasData = actives.data('collapse') 
     if (hasData && hasData.transitioning) return 
     actives.collapse('hide') 
     hasData || actives.data('collapse', null) 
     } 

     this.$element[dimension](0) 
     this.transition('addClass', $.Event('show'), 'shown') 
     $.support.transition && this.$element[dimension](this.$element[0][scroll]) 
    } 

    , hide: function() { 
     var dimension 
     if (this.transitioning) return 
     dimension = this.dimension() 
     this.reset(this.$element[dimension]()) 
     this.transition('removeClass', $.Event('hide'), 'hidden') 
     this.$element[dimension](0) 
    } 

    , reset: function (size) { 
     var dimension = this.dimension() 

     this.$element 
     .removeClass('collapse') 
     [dimension](size || 'auto') 
     [0].offsetWidth 

     this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') 

     return this 
    } 

    , transition: function (method, startEvent, completeEvent) { 
     var that = this 
     , complete = function() { 
      if (startEvent.type == 'show') that.reset() 
      that.transitioning = 0 
      that.$element.trigger(completeEvent) 
      } 

     this.$element.trigger(startEvent) 

     if (startEvent.isDefaultPrevented()) return 

     this.transitioning = 1 

     this.$element[method]('in') 

     $.support.transition && this.$element.hasClass('collapse') ? 
     this.$element.one($.support.transition.end, complete) : 
     complete() 
    } 

    , toggle: function() { 
     this[this.$element.hasClass('in') ? 'hide' : 'show']() 
    } 

    } 


/* COLLAPSE PLUGIN DEFINITION 
    * ========================== */ 

    var old = $.fn.collapse 

    $.fn.collapse = function (option) { 
    return this.each(function() { 
     var $this = $(this) 
     , data = $this.data('collapse') 
     , options = typeof option == 'object' && option 
     if (!data) $this.data('collapse', (data = new Collapse(this, options))) 
     if (typeof option == 'string') data[option]() 
    }) 
    } 

    $.fn.collapse.defaults = { 
    toggle: true 
    } 

    $.fn.collapse.Constructor = Collapse 


/* COLLAPSE NO CONFLICT 
    * ==================== */ 

    $.fn.collapse.noConflict = function() { 
    $.fn.collapse = old 
    return this 
    } 


/* COLLAPSE DATA-API 
    * ================= */ 

    $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { 
    var $this = $(this), href 
     , target = $this.attr('data-target') 
     || e.preventDefault() 
     || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 
     , option = $(target).data('collapse') ? 'toggle' : $this.data() 
    $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') 
    $(target).collapse(option) 
    }) 

`

+0

Знаете ли вы, что bootstrap обновлен до 2.3.0? Пожалуйста, обновите – Shail

+0

Спасибо, я обновил его, но все же получил ту же проблему – ProfHase85

+0

может проверить решение. дайте мне знать, если это сработает для вас – Shail

ответ

0

создать адаптивный меню в начальной загрузки следующим образом: JSfiddle с нав Navigation bootstrap
Примечание: У вас есть не включенный файл jquery на вашу страницу html, используйте следующий способ:

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

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

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

<script src="bootstrap/js/bootstrap.js"></script> 

<div class="navbar"> 
<div class="navbar-inner"> 
    <a data-toggle="collapse" data-target=".nav-collapse" class="btn btn-navbar"> 
    <i class="icon-bar"></i> 
    </a> 

<a class="brand" href="">New Icon Menu</a> 

    <div class="nav-collapse"> 
     <ul class="nav nav-pills pull-right"> 
      <li><a href=""><i class="icon-home icon-2x"></i> Home<br></a> 
      </li> 
      <li><a href=""><i class=" icon-pencil icon-2x"></i>About Us</a> 
      </li> 
      <li><a href=""><i class=" icon-briefcase icon-2x"></i>Portfolio</a> 
      </li> 
      <li><a href=""><i class=" icon-envelope icon-2x"></i>Contact Us</a> 
      </li> 
     </ul> 
    </div> 
    </div> 
</div> 
+0

Большое спасибо. Эта длинная группа включений позволяет мне игнорировать jquery. Я задаюсь вопросом, почему ребята-бутстрапы не включают jquery прямо в bootstrap.js ... – ProfHase85

+0

Thats, потому что он поддерживается отдельно не парнями-твиттерами, и это будет усложнять ситуацию таким образом. Используйте версию cdn для bootstrap css, js и даже jquery. Это поможет вам получить хорошее время отклика. – Shail

Смежные вопросы