遇到了一些麻烦。 我有一个页面,我使用@media分别创建移动和平板电脑版本。在移动版本中我使用mmenu jquery插件来制作滑动菜单。在平板电脑版本中,我不想使用此菜单,但仍计划使用它的html。所以我决定删除id,它显示了需要制作滑动菜单的mmenu插件。但由于某些原因,juery的removeAttr不能像我预期的那样工作。 Ps:我对js很新,所以我可能不知道与浏览器工作有关的问题。
我得到了这段代码(html非常简单 - 导航,包装了一堆ul):
var func = function() {
var width = $(window).width();
var menu = $(".menu");
/*if it is tablet*/
if (width > 401) {
menu.removeAttr("id");
}
/*loading mmenu*/
$(function() {
$('#my-menu').mmenu({
slidingSubmenus: false,
zposition: "next"
});
});
};
$(document).ready = func();
如果有人澄清我的错误在哪里,我会非常高兴。
答案 0 :(得分:4)
你绑定了document.ready错误。它应该是
$(document).ready(func);
您没有设置属性,也没有调用您的函数。
答案 1 :(得分:2)
您可以移动函数以在宽度检查功能中创建菜单,而不是从#my-menu
中删除ID。这样,只有宽度大于401时才会创建菜单。否则,它会被完全跳过。
if (width > 401) {
$(function(){
$('#my-menu').mmenu(...);
});
}