我在我的网页中使用jquery mmenu,用于移动设备和桌面分辨率低于1024的设备。在桌面上,我使用一个功能来检查页面加载和调整大小时的分辨率,如果窗口小于1000px,则激活菜单。
我的问题是,当我想要将页面大小调整到1000px时,mmenu删除了我的正常导航,并且不再显示在页面中。
如何注销mmenu并恢复我的第一个状态导航菜单?
这是我的函数:
if($(window).width()<1000){
$("#webNav").mmenu();
var API = $("#webNav").data( "mmenu" );
$("#open-mobile").click(function() {
API.open();
});
}发布于 2015-05-27 00:32:45
查看您的代码,您可以将其包装在一个调整大小的事件侦听器中。
//We keep a reference to the menu object outside the scope of the event check.
$("#webNav").mmenu();
var API = $("#webNav").data( "mmenu" );
//When a resize occurs, it will run the following.
$(window).resize(function () {
if($(window).width()<1000){
$("#open-mobile").click(function() {
API.open();
});
}
else{ // Otherwise we remove the reference to what `data` is.
API = $("#webNav").data("");
}
});这将在您每次调整屏幕大小时运行您的逻辑。
我还没有测试这个,但它应该可以工作,你可能需要清除事件后,屏幕增加,但让我知道,我可以更新它。
对于较大的大小,它将重置对API对象的相同引用。
$("#webNav").data("");
这应该会清除对象本身。
https://stackoverflow.com/questions/30463803
复制相似问题