Javascript 窗口调整时响应菜单消失
我对脚本有点生疏,但一直在尝试找到一个适合我的响应菜单解决方案的解决方案。我见过其他人有类似的问题,但他们似乎在菜单上使用了不同的方法 这是我的密码: HTML:Javascript 窗口调整时响应菜单消失,javascript,jquery,html,menu,responsive-design,Javascript,Jquery,Html,Menu,Responsive Design,我对脚本有点生疏,但一直在尝试找到一个适合我的响应菜单解决方案的解决方案。我见过其他人有类似的问题,但他们似乎在菜单上使用了不同的方法 这是我的密码: HTML: 功能切换\u可见性(id){ var e=document.getElementById('menu-items'); if($(e).css('display')=='block'){ $(e).slideUp('fast'); }否则{ $(e).向下滑动(“快速”); } }; .mobile菜单{ 显示:无 } @仅介质屏幕
功能切换\u可见性(id){
var e=document.getElementById('menu-items');
if($(e).css('display')=='block'){
$(e).slideUp('fast');
}否则{
$(e).向下滑动(“快速”);
}
};代码>
.mobile菜单{
显示:无
}
@仅介质屏幕和(最大宽度:680px){
#菜单项{
显示:无
}
.手机菜单{
显示:块;
光标:指针;
}
}
试试这个:
@media only screen and (min-width: 680px) {
#menu-items {
display: block
}
.mobile-menu {
display: none;
cursor: pointer;
}
}
试试这个:
@media only screen and (min-width: 680px) {
#menu-items {
display: block
}
.mobile-menu {
display: none;
cursor: pointer;
}
}
在这里使用slideUp()和slideDown()有点棘手,因为它们设置/删除内联样式“display:none;”当您调整窗口大小时,不会将其删除。这就是菜单没有重新出现的原因:隐藏菜单的内联样式仍然处于活动状态
您需要做的是使用类以不同的设备宽度处理显示,并将挂钩添加到slideUp的完整回调:()
CSS:
JS:
在这里使用slideUp()和slideDown()有点棘手,因为它们设置/删除内联样式“display:none;”当您调整窗口大小时,不会将其删除。这就是菜单没有重新出现的原因:隐藏菜单的内联样式仍然处于活动状态
您需要做的是使用类以不同的设备宽度处理显示,并将挂钩添加到slideUp的完整回调:()
CSS:
JS:
function toggle_collapsed_class(e) {
$(e).css('display', '').addClass('collapsed');
};
function toggle_visibility(id) {
var e = document.getElementById('menu-items');
if ($(e).css('display') == 'block') {
$(e).slideUp('fast', function(){
toggle_collapsed_class(e)
});
} else {
$(e).removeClass('collapsed').slideDown('fast');
}
};