【问题标题】:Get Bootstrap navbar collapse to trigger javascript instead?获取 Bootstrap 导航栏折叠以触发 javascript?
【发布时间】:2015-09-28 20:37:35
【问题描述】:

我有一个标准的 Twitter Bootstrap 3 导航栏,上面有一些按钮(根据这里:http://getbootstrap.com/components/#navbar-default)。我想更改折叠行为(它变成低于某个屏幕宽度的下拉菜单),以便运行我的自定义 Javascript 函数,而不是创建下拉菜单。这是因为我正在对较小屏幕的界面进行更广泛的更改,而不仅仅是 CSS 所允许的(例如,我在 DOM 中移动 UI 元素等)。

我是否应该关闭导航栏的折叠行为,如果可以,如何关闭?

然后我正在考虑页面加载和页面调整大小(使用 JQuery 的 resize() 事件)如果宽度低于折叠点,我会检查新窗口宽度并触发移动 UI(通过我的函数)?

或者有更好的方法吗?

任何想法表示赞赏! 谢谢

【问题讨论】:

    标签: javascript jquery html css twitter-bootstrap


    【解决方案1】:

    这是可行的,我赞赏您超越 BS 样式,将平台扩展到独特的东西。

    使用 less 打开 BS Navbar.less 文件。查找 .navbar-collapse { 类定义中的部分。

    这是默认样式(请记住已设置移动设备优先),并将在默认(如果未覆盖)768 像素处中断为水平样式。你可以把你的样式放在这里,它会默认。您可以在此部分中放置水平样式,并删除任何会翻转到水平的 @media (min-width: @grid-float-breakpoint) { 部分(默认设置。

    下一步是处理断点。我喜欢 enquire.js,因为它允许在 CSS 和 JS 侦听器之间注册相同的断点。

    http://wicky.nillia.ms/enquire.js/

    enquire.register("screen and (max-width: 767px)", {
    match : function() {
           //Do something
    },  
    unmatch : function() {
           //undo something
    }
    

    });

    没有 enquire.js:

    $(window).resize(function() {
      if($(window).width() < 768){
         //do it
        } 
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-25
      • 2015-12-07
      • 2014-07-13
      • 2017-06-06
      • 2020-07-25
      • 1970-01-01
      相关资源
      最近更新 更多