【问题标题】:How to prevent mmenu's default off-canvas menu display on large screens如何防止 mmenu 在大屏幕上显示默认的画布外菜单
【发布时间】:2016-03-02 17:08:38
【问题描述】:

我在 Foundation 6.2 中使用 mmenu.js,并希望防止 mmenu 的画布外默认菜单显示在大屏幕尺寸上。 Foundation 的可见性类用于隐藏大屏幕的画布外菜单,其中画布上的菜单接管。但是,如果在将浏览器窗口调整为大屏幕尺寸之前未关闭画布外菜单,则会在菜单所在的位置保留一个空白区域。有没有办法阻止画布外 API 完全以大屏幕尺寸显示?

【问题讨论】:

    标签: mmenu


    【解决方案1】:

    使用 Craig Butler 在http://www.sitepoint.com/javascript-media-queries/ 解释的 window.matchMedia 找到了一个有用的解决方案。这会导致空白窗口空间关闭(或者更确切地说,使用默认的 mmenu 设置滑动关闭)并且浏览器内容在 1024 像素处扩展到全宽。

              $(document).ready(function() {            //Off canvas mmenu options
              $("#igreens").mmenu({
    
              navbar:{
                      title: ''
                }
    
                });
                 var API = $("#igreens").data( "mmenu" );
    
                $("#nav-toggle").click(function() {
                API.open();
    
                });
                                                       // media query event handler
                if (matchMedia) {
                    var mq = window.matchMedia("(min-width: 1024px)");
                    mq.addListener(WidthChange);
                    WidthChange(mq);
                }
    
                // media query change
                function WidthChange(mq) {
                  if (mq.matches) {         
                  API.close();                                   
    
                  } else {                             // window width is less than 1024px
                    mq.preventDefault();
                  }
                }
             });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-20
      • 2020-09-09
      • 2020-03-19
      • 1970-01-01
      • 2022-08-03
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多