我有这个代码,当一个按钮被点击时显示/隐藏一个菜单
$('#main-menu ul').slideToggle();
当浏览器窗口小于 767 px 时菜单被隐藏,所以这个按钮出现,允许它被打开和关闭,除了唯一的问题是当我再次调整窗口大小时,菜单消失了,如果滑动切换已将其设置为不显示。为了解决这个问题,我添加了代码以在浏览器调整大小后显示菜单。当浏览器窗口再次缩小到小于 767 像素时,这会导致新菜单显示,而不是隐藏默认菜单。然后,当缩放小于 767 像素时,我可以再次隐藏菜单,但这会导致菜单在隐藏时闪烁。
我想知道一种方法来检测 resize() 是否在这种情况下按比例放大 r 缩小时我可以 hide() 菜单和放大时我可以显示() 菜单。
$('.menu-button').click(function() {
$('#main-menu ul').slideToggle();
});
$(window).resize(function(){
var w = $(window).width();
if(w > 767 && $('#main-menu ul').is(':hidden')) {
$('#main-menu ul').show();
}
});
$(window).resize(function(){
var w = $(window).width();
if(w < 767) {
$('#main-menu ul').hide();
}
});