Javascript HTML/CSS导航下拉列表和子下拉列表在网站响应时不显示
当网站响应时,导航栏出现问题。 单击下拉菜单时,div似乎消失。不确定这是否与CSS或jQuery有关 此处演示:Javascript HTML/CSS导航下拉列表和子下拉列表在网站响应时不显示,javascript,jquery,html,css,wordpress,Javascript,Jquery,Html,Css,Wordpress,当网站响应时,导航栏出现问题。 单击下拉菜单时,div似乎消失。不确定这是否与CSS或jQuery有关 此处演示: HTMl(所有li类都是由WordPress生成的,对不起) Jquery $(function() { var pull = $('#pull'); menu = $('nav'); menuHeight = menu.height(); $(pull).on
HTMl(所有li类都是由WordPress生成的,对不起) Jquery
$(function() {
var pull = $('#pull');
menu = $('nav');
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');
}
});
});
正如@Moob所说,
menu.slideToggle()当您单击#pull
元素时,code>隐藏了整个导航元素
要获得想要的效果,请执行此操作
menu = $('nav .menu');
更新
当屏幕大小调整到小于或等于320px时,将显示您的菜单项,因为您的代码中有此css规则
@media only screen and (max-width : 320px) {
nav li {
display: block;
float: none;
width: 100%;
}
nav li a {
border-bottom: 1px solid #576979;
}
}
在320px
和600px
之间,您的菜单项被nav#pull
元素覆盖,因为您使它成为display:block
,所以将它转到display:inline block
,它会正常工作
菜单。滑动切换()当您单击#pull
时,code>将隐藏整个nav
元素。将在匹配元素的“显示”和“隐藏”之间切换谢谢,它的下拉列表现在已显示,但没有任何选项卡显示,因为它因某种原因被菜单覆盖。您将屏幕大小限制为一定宽度,以使菜单项以响应方式显示,将窗口大小调整为300px
,它将显示菜单项。您必须使用css媒体查询来显示所需的最小屏幕宽度
menu = $('nav .menu');
@media only screen and (max-width : 320px) {
nav li {
display: block;
float: none;
width: 100%;
}
nav li a {
border-bottom: 1px solid #576979;
}
}