我创建了一个reonsive菜单。我就像你在this fiddle看到的@media screen
一样工作。除了一件事,一切都很好。有时,当您在小菜单和大菜单之间切换时,菜单内容不会显示。看看Jsfiddle并调整输出窗口的宽度。就像我告诉过的那样,有时会重新加载页面,如果第一次没有发生的话。
班级menu
包含菜单内容。小菜单有display
无(按下按钮时向下滑动),大菜单与display
内联块一起使用。
只有在小菜单和大菜单之间切换时才会发生这种情况。从大到小都很好。
有人可以帮我解决这个问题。
答案 0 :(得分:1)
当您向上切换菜单时,向上滑动会在菜单完成时在菜单上显示无显示。菜单向上滑动后隐藏。当你回到大的时候,它会保持显示:没有来自JS,所以它没有显示。
解决这个问题的一种方法是强制它在一直很大的时候可见
@media screen and (min-width: 550px){ /*big menu*/
.menu{
display:inline-block !important;
}
}
答案 1 :(得分:1)
该问题可能是由使用字符串的切换逻辑引起的。
在您的javascript中,您可以尝试更直观的代码:
$('nav').on('click','.dropdown',function(){
if($('.menu').css('display')=='none'){
$('.menu').slideDown();
}else{
$('.menu').slideUp();
}
});
它应该使您的脚本减少错误。