固定导航栏消失然后重新出现

时间:2016-06-02 14:55:48

标签: javascript jquery

我有一个导航栏,当它通过jquery添加一个类到达屏幕顶部时会被修复。问题是,当它到达屏幕顶部时,它会消失,然后当我滚动更多时再次出现,所以我需要防止它消失

(function ($) {
    "use strict";

    var menuPosition = function () {
        var nav = $(".menu"),
            height = nav.height(),
            windowHeight = $(window).height();

        if ($(window).scrollTop() > (windowHeight - height))
            nav.addClass('fixed');
        else 
            nav.removeClass('fixed');        
    };

    menuPosition();
    $(document).scroll(menuPosition);
}(jQuery));
.menu {
    display: block;
    width: 100%;
    padding: 25px 0px;
    background-color: rgba(0, 0, 0, 0.65);
    color: white;
}

.fixed {
    position: fixed;
    top: 0px;
}

<div style="height: 80vh; width: 100%; background: #262626"></div>
<ul class="menu">
    <li>about</li>
    <li>projects</li>
    <li>contact</li>
</ul>

1 个答案:

答案 0 :(得分:0)

在此行中使用outerHeight()代替height()

height = nav.height()