首页 文章

手机导航无法正常工作

提问于
浏览
1

我正在使用简单的切换来打开和关闭我的移动导航 . 当导航载荷加载手机宽度并显示导航时何时应隐藏导致页面加载宽度超过宽度 . 另外,我无法让Nav菜单留在页面上,所以再次点击它会关闭 .

这是我所拥有的,我不知道为什么导航显示然后它没有被点击 .

#nav-ph {
    position: absolute;
    top: 100px;
    right: 0px;
    margin: 0px;
    padding: 5px 0;
    list-style: none;
    z-index: 9999;
    width: 100%;
}
.nav-btn-ph {
    position: absolute;
    top: -2px;
    left: -40px;
    width: 40px;
    height: 35px;
    display: block;
    cursor: pointer;
}
.nav-btn-ph img {
    margin: 20px 0px 0px 13px;
}
.main-nav-ph li {
    padding:0 10px;
    text-align: left;
    text-decoration: none;
    color: #FFF;
    font-family: @m;
    font-size: 24px;
}
.main-nav-ph li a {
    color: #000;
    text-decoration: none;
}
.main-nav-ph li a:hover {
    color: #000;
}

$(function() {
    $('#nav-ph').stop().animate({'margin-right':'-300px'},1000);

    function toggleDivs() {
        var $inner = $("#nav-ph");
        if ($inner.css("margin-right") == "-300px") {
            $inner.animate({'margin-right': '0'});
            $(".nav-btn-ph").html()
        } else {
            $inner.animate({'margin-right': "-300px"}); 
            $(".nav-btn-ph").html()
        }
    }
    $(".nav-btn-ph").bind("click", function(){
        toggleDivs();
    });
});

<div id="nav-ph">
    <div class="nav-btn-ph">Nav Menu</div>
    <ul class="main-nav-ph">
        <li><a href="#the-banner-advantage">THE ADVANTAGE</a>
        </li>
        <li><a href="#banner-services">OUR SERVICES</a>
        </li>
        <li><a href="#team">OUR TEAM</a>
        </li>
        <li><a href="#banner-news">MAKING NEWS</a>
        </li>
        <li><a href="#banner-contact">CONTACT</a>
        </li>
    </ul>
</div>

这是jsfiddle http://jsfiddle.net/BrentRansom/vb3v5/1/的链接

1 回答

  • 0

    如果我理解正确,请尝试删除以下项目

    .nav-btn-ph {
        position: absolute;
        top: -2px;
        left: -40px; //remove this css, the nav emnu will stay longer
        width: 40px;
        height: 35px;
        display: block;
        cursor: pointer;
    }
    

    更好地删除此动画代码以保持在边距内

    $('#nav-ph').stop().animate({'margin-right':'-300px'},1000);
    

    检查这个JSFiddle

相关问题