我有一个导航栏,当它通过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>
答案 0 :(得分:0)
在此行中使用outerHeight()
代替height()
:
height = nav.height()