当窗口宽度低于768px时,我为单页网站制作了响应式菜单,切换到可切换菜单。 基本上我想通过点击标题来切换菜单,并通过另一次点击菜单链接关闭菜单(li
-element)。Toggle menu onclick,close by menu link - but only in mobile view
我的jQuery代码至今:
jQuery(document).ready(function() {
var e = $("#pull");
menu = $("#header ul"), $(e).on("click", function(e) {
e.preventDefault(), menu.slideToggle()
}), $(window).resize(function() {
menu.is(":hidden") && menu.removeAttr("style")
})
});
$("#header ul").on("click", "li", function() {
$("#header ul").hide();
});
及表演一个的jsfiddle:http://jsfiddle.net/ansoqvms/2/
所以打开和关闭菜单时点击标题正常工作。点击菜单li
-element时,我也发现菜单消失了。
很遗憾菜单不仅在单击菜单链接时在移动视图中消失,而且在正常视图(> 768像素)中也不会消失。
我试过与if($(window).width() < 768px)
一起工作,但并不是说跨浏览器很开心。
我也试着用if($('#pull').is(':visible'))
来解决这个问题,因为#pull只能在移动视图中看到,但是它也不能正常工作。
为什么要用'$(“#头UL”)隐藏();'?当点击一个'li'时,这行隐藏'ul'。 – Alex
因为我希望菜单在单击'li'元素时关闭。这就是我的意思是“菜单项”。我编辑它,所以它更好理解。 – sourg