Javascript jquery div不';切换开关关闭时不显示
我似乎对响应CSS和JQuery有一个奇怪的问题Javascript jquery div不';切换开关关闭时不显示,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我似乎对响应CSS和JQuery有一个奇怪的问题 当窗口大小调整为600px时 点击hr(图标)以显示导航 再次单击hr以隐藏导航,并调整窗口大小后,导航将不可见 如果导航可见,然后调整大小>600px,则导航始终可见 问题是否与jquery代码有关 此处代码: HTML: <div class="container"> <div class="leftmenu"> <div class="logo"> <
<div class="container">
<div class="leftmenu">
<div class="logo">
<img src="http://callmenick.com/theme/callmenick/img/logo.svg" alt="" />
</div>
<div class="icon">
<hr/>
<hr/>
<hr/>
</div>
<div class="social">
<span class="fa fa-facebook"></span>
<span class="fa fa-instagram"></span>
<span class="fa fa-twitter"></span>
<span class="fa fa-youtube"></span>
<span class="fa fa-vine"></span>
<span class="fa fa-tumblr"></span>
<span class="fa fa-google-plus"></span>
<span class="fa fa-linkedin"></span>
</div>
<div class="nav">
<ul class="navigation">
<li> <a class="scroll" href="#home">Home</a>
</li>
<li> <a class="scroll" href="#videos">Videos</a>
</li>
<li> <a class="scroll" href="#gallery">Gallery</a>
</li>
<li> <a class="scroll" href="#about">About</a>
</li>
<li> <a class="scroll" href="#contact">Contact</a>
</li>
</ul>
</div>
</div>
</div>
</div>
JQUERY:
$(".icon").click(function() {
$(".leftmenu .nav").toggle();
});
$(".leftmenu .nav ul li > a").click(function() {
$(".icon:visible").click();
});
要远程触发事件处理程序,请使用
trigger()
$('.icon:visible')。触发器('click')代码>该行
$(".leftmenu .nav").toggle();
加上
在第二次单击图标以隐藏它后,将其显示到菜单
使用以下命令将其删除:
$(window).resize(function() {
$(".leftmenu .nav").css("display", "");
});
为什么选择这么长?只需使用$('.scroll')
哦,谢谢@BenMansley@freedomn-m-克服这个问题的最佳方法是什么?@GSoni它看起来像它应该表现的那样,也许它没有表现出你期望的那样。正如freedomn-2所解释的,这是一个响应迅速的下拉菜单。我观察到:当菜单打开时,无论页面有多宽,我都可以访问链接。你也是这样吗?@zer00ne-我遇到的问题是当页面<600px时,图标会显示,当它被点击,然后点击以隐藏导航,然后页面被调整大小时-导航不出现,我不明白这是在做什么?调用.click()不会触发切换它的事件处理程序。看一看,它解决了这个问题!谢谢!快速提问,执行.css(“display”,“none”)和.css(“display”,“none”)之间有什么区别?jquery中的空css值将删除元素中所有动态添加的样式,将值还原为样式表上的值或默认值(本例中为块)。还有一件事,我强烈建议您使用开发人员工具(如果您没有)下次遇到此类棘手问题时,请查找潜在问题。在Firefox/Chrome/IE上按F12打开它。我个人使用Firefox。
display: none
$(window).resize(function() {
$(".leftmenu .nav").css("display", "");
});