【发布时间】:2017-04-11 09:10:45
【问题描述】:
我正在尝试制作一个简单的 jQuery 函数,只要窗口向下滚动超过某个点,它就会固定导航栏 div。 我已将此点设置为我的标题 div 的高度,因为每当您滚动经过此 div 时,导航栏就会变得固定。 它工作正常,除非我单击并拖动窗口滚动条并将其定位在 div 应该固定的位置,它会上下抖动。这可能是什么原因造成的?
这是我的 HTML 代码:
<!DOCTYPE html>
<html>
<head>
<link rel='stylesheet' type='text/css' href='css/styles.css'>
<script src='js/jquery.js'></script>
<script src='js/main.js'></script>
</head>
<body>
<div class='header'></div>
<div class='navbar'></div>
<div class='about'></div>
</body>
</html>
这是我的 CSS 代码: 身体 { 边距:0; }
.header
{
margin: 0;
height: 100vh;
background-color: yellow;
}
.navbar
{
margin: 0;
height: 10vh;
width: 100%;
background-color: pink;
}
.about
{
margin: 0;
height: 200vh;
background-color: red;
}
这是我的 jQuery 代码:
$(window).scroll(function(e){
if ($(this).scrollTop() >= $('.header').height() && $('.navbar').css('position') != 'fixed')
{
$('.navbar').css('background-color', 'blue');
$('.navbar').css({
'position': 'fixed',
'top': '0'
});
}
else if ($(this).scrollTop() < $('.header').height() && $('.navbar').css('position') != 'relative')
{
$('.navbar').css('background-color', 'pink');
$('.navbar').css({
'position': 'relative'
})
}
})
感谢您的帮助!
【问题讨论】: