当窗口变大时,为什么我的响应式菜单RE-APPEAR不作为列表?

时间:2012-12-07 03:33:24

标签: javascript html list mobile menu

我有一个侧边栏列表,我正在转换成一个简单的下拉式手风琴按钮。问题是,当您将窗口调整为较小,打开然后关闭列表时,请将窗口调整为更大。该列表不会以“桌面”形式重新显示。

演示: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 &nbsp;<span>&#9660;</span></a>
        <a class="dribbbleIcon" href="#">Dribbble</a> 
        <a class="twitterIcon" href="#">Twitter</a>
    </div>
</aside>

THE 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>

2 个答案:

答案 0 :(得分:2)

slideToggle在关闭(http://api.jquery.com/slideToggle/)时将切换元素的样式设置为display:none,因此当您调整回“桌面”时,该元素将保持隐藏状态。

您需要检查宽度是否超​​出“桌面”断点并确保其可见,或者使用其他显示/隐藏方法,例如切换类并使用css过渡应用动画。< / p>

答案 1 :(得分:0)

我发现了问题..

当您在顶部打开菜单并进行最大化时,它会起作用。当您关闭菜单并最大化窗口时,会出现问题。

仍然 leftNavWrap的显示为无..

如果您需要更多帮助,请在显示和隐藏顶部菜单和侧边栏的位置显示您的代码......