开心每一天1111
由于我已经让移动设备完全按照我想要的方式工作,但需要桌面做出不同的响应,这就是我的工作方式(上面在原始帖子中描述的配置):我做的第一件事是将整个 js 包装起来,以使用 if/else 媒体查询在函数中触发插件,如下所示: <!-- Fire the plugin --> <script>function mediaqueryresponse(x) {if (mql.matches) { document.addEventListener( "DOMContentLoaded", () => { new Mmenu( "#navmenu", { "openingInterval": 0, "transitionDuration": 0, "sidebar": { "expanded": { "use": true } }, "offCanvas": ["false"],// {// "blockUI": false,// "moveBackground": false// }, wrappers: ["bootstrap"], "extensions": [ "position-front", "fx-panels-none", "theme-dark" ], "navbar": { "title": "MY MENU" }, "navbars": [ { "position": "top", "content": [ "prev", "title" ], }, { "position": "bottom", "content": [ "<a class='fa fa-envelope' href='mailto:webmaster@foo.com'></a>", "<a class='fa fa-twitter' href='https://www.twitter.com/foo'></a>", "<a class='fa fa-facebook' href='fb://profile/13435468413'></a>" ] } ] }); } );}else { document.addEventListener( "DOMContentLoaded", () => { new Mmenu( "#navmenu", { wrappers: ["bootstrap"], "extensions": [ "position-front", "pagedim-black", "theme-dark" ], "navbar": { "title": "MY MENU" }, "navbars": [ { "position": "top", "content": [ "prev", "title" ], }, { "position": "bottom", "content": [ "<a class='fa fa-envelope' href='mailto:webmaster@foo.com'></a>", "<a class='fa fa-twitter' href='https://www.twitter.com/foo'></a>", "<a class='fa fa-facebook' href='fb://profile/13435468413'></a>" ] } ] }); } );}}var mql = window.matchMedia("screen and (min-width: 900px) and (orientation:landscape)")mediaqueryresponse(mql) // call listener function explicitly at run timemql.addListener(mediaqueryresponse) // attach listener function to listen in on state changes </script>您需要修改的 CSS 代码是:.mm-menu_position-front {transition: transform 0s ease,-webkit-transform 0s ease !important;}.mm-wrapper_sidebar-expanded:not(.mm-wrapper_sidebar-closed) .mm-menu_sidebar-expanded.mm-menu_opened~.mm-slideout {width:100% !important;-webkit-transform:translate3d(0,0,0) !important;transform:translate3d(0,0,0) !important;width:100% !important;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}请记住还要将相同的 css 插入到您的移动样式表中,以便移动设备可以做出不同的响应。例如,我通过将以下代码插入到我的移动样式表中,将其全部恢复为 mmenu 的默认值:.mm-menu_position-front {transition: transform .4s ease,-webkit-transform .4s ease !important;}.mm-wrapper_sidebar-expanded:not(.mm-wrapper_sidebar-closed) .mm-menu_sidebar-expanded.mm-menu_opened~.mm-slideout {width:(100% - 440px);-webkit-transform:translate3d(440px,0,0);transform:translate3d(440px,0,0);width:calc(100% - var(--mm-sidebar-expanded-size));-webkit-transform:translate3d(var(--mm-sidebar-expanded-size),0,0);transform:translate3d(var(--mm-sidebar-expanded-size),0,0);}