Javascript 在调整窗口大小时,可折叠菜单不会保持关闭状态
我有一个移动下拉菜单,当窗口被调整大小或拖动到更大或更小的尺寸时,它不会保持关闭状态。是否可以仅在单击菜单时打开菜单之前将其折叠 加载页面时,菜单将折叠,但是,一旦拖动窗口以调整其大小,菜单将自动打开 谢谢你的帮助 ------->Javascript 在调整窗口大小时,可折叠菜单不会保持关闭状态,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个移动下拉菜单,当窗口被调整大小或拖动到更大或更小的尺寸时,它不会保持关闭状态。是否可以仅在单击菜单时打开菜单之前将其折叠 加载页面时,菜单将折叠,但是,一旦拖动窗口以调整其大小,菜单将自动打开 谢谢你的帮助 -------> $(函数(){ var pull=$('button.open menu'); 菜单=$('nav ul'); menuHeight=menu.height(); $(拉动)。打开('点击',函数(e){ e、 预防默认值(); menu.slideToggle(
$(函数(){
var pull=$('button.open menu');
菜单=$('nav ul');
menuHeight=menu.height();
$(拉动)。打开('点击',函数(e){
e、 预防默认值();
menu.slideToggle();
});
$(窗口)。调整大小(函数(){
var w=$(window.width();
如果(w>320&&menu.is(':hidden')){
menu.removeAttr('style');
}
});
});
HTML
CSS
.移动导航集装箱{
位置:相对位置;
背景色:#252525;
顶部:-5px;
宽度:100%;
高度:40px;
边框底部:5px实心#ffd09d;
z指数:300;
显示:内联块;
}
ul.nav-menu{/*导航菜单作为一个整体*/
位置:相对位置;
顶部:13px;
边际:0px;
填充:0px;
背景色:#252525;
宽度:100%;
边框底部:2个实心#ff6000;
}
导航ul li a{/*导航列表项*/
位置:相对位置;
顶部:0px;
左:5%;
右:5%;
垫面:3件;
线高:1.9em;
边框底部:1px实心#313131;
宽度:90%;
高度:30px;
显示:内联块;
字体系列:myriad pro;
字号:1em;
列表样式:无;
过渡时间:300ms;
-webkit转换:300ms;
}
nav ul li{/*下拉列表填充设置*/
列表样式:无;
}
导航li a{/*主导航文本颜色和填充设置*/
位置:相对位置;
顶部:0px;
边际:0px;
填充:0px;
颜色:#ffd09d;
文字装饰:无;
}
.nav菜单li:激活{/*主导航文本悬停效果*/
颜色:#ff6000;
背景色:#beb29a;
过渡时间:400ms;
-webkit转换:400ms;
}
.nav菜单li:悬停{/*主导航文本悬停效果*/
颜色:#ff6000;
过渡时间:300ms;
-webkit转换:300ms;
}
按钮。打开菜单{
位置:相对位置;
顶部:5px;
左:5%;
边际:0px;
填充:0px;
宽度:40px;
高度:29px;
显示:内联块;
大纲:无;
背景色:#3535;
边框:2个实心#4242;
盒影:0px 0px 2px#000;
光标:指针;
}
按钮。打开菜单:激活{
光标:指针;
边框:2个实心#3535;
盒影:无;
}
我听取了上面一条评论的建议,删除了一行代码
<script>
$(function() {
var pull = $('button.open-menu');
menu = $('nav ul');
menuHeight = menu.height();
$(pull).on('click', function(e) {
e.preventDefault();
menu.slideToggle();
});
$(window).resize(function(){
var w = $(window).width();
if(w > 320 && menu.is(':hidden')) {
menu.removeAttr('style'); <<<-----I REMOVED THIS LINE-----
}
});
});
</script>
$(函数(){
var pull=$('button.open menu');
菜单=$('nav ul');
menuHeight=menu.height();
$(拉动)。打开('点击',函数(e){
e、 预防默认值();
menu.slideToggle();
});
$(窗口)。调整大小(函数(){
var w=$(window.width();
如果(w>320&&menu.is(':hidden')){
menu.removeAttr('style');您需要重新思考为什么要这样做menu.removeAttr('style');
。如果元素是通过hide()
或slideUp
或类似方式隐藏的,它将具有隐藏它的内联样式。建议在两种大小条件下切换类
<script>
$(function() {
var pull = $('button.open-menu');
menu = $('nav ul');
menuHeight = menu.height();
$(pull).on('click', function(e) {
e.preventDefault();
menu.slideToggle();
});
$(window).resize(function(){
var w = $(window).width();
if(w > 320 && menu.is(':hidden')) {
menu.removeAttr('style'); <<<-----I REMOVED THIS LINE-----
}
});
});
</script>