我有一个侧边栏列表,我正在将其变成一个简单的响应式下拉 Accordion 按钮。问题是,当您将窗口调整得更小时,打开然后关闭列表,然后将窗口调整得更大。该列表不会以“桌面”形式重新出现。
演示:http://iamalecschmidt.com/newblog/
我正在使用一些简单的 Javascript 来切换菜单以将侧边栏切换为菜单:
HTML:
<aside class="left-sidebar">
<p class="intro">Hey! I’m Alec.</p>
<p class="bio">
I <a href="#">design</a> interfaces for websites & apps, I also
<a href="#">cook</a> and I am an aspiring front-end
<a href="#">developer</a>.
</p>
<div class="leftNavWrap">
<ul class="leftNav">
<li><a href="#">Home</a></li>
<li><a href="#">Work</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
<a class="topicsButton" href="#">Topics <span>▼</span></a>
<a class="dribbbleIcon" href="#">Dribbble</a>
<a class="twitterIcon" href="#">Twitter</a>
</div>
</aside>
JavaScript:
<script type="text/javascript"> // responsive menu
jQuery(document).ready(function($){
/* prepend menu icon */
$('p.bio').append('<div id="menu-button"><p>Menu</p></div>');
/* toggle nav */
$("#menu-button").on("click", function(){
$('div.leftNavWrap').slideToggle();
$(this).toggleClass("active");
});
});
</script>
最佳答案
slideToggle
将切换元素的样式设置为 display:none
关闭时 ( http://api.jquery.com/slideToggle/ ),因此当您将大小时调整回“桌面”时,该元素保持不变隐藏。
您需要检查宽度何时超过“桌面”断点并确保它可见,或者使用另一种显示/隐藏方法,例如切换类并使用 css 过渡应用动画。
关于javascript - 当窗口变大时,为什么我的响应式菜单没有重新显示为列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13756513/