我正在尝试创建一个固定的顶部导航,当您向下滚动页面时菜单会发生变化。当您滚动超过某个 y 点时,菜单将在您向下滚动页面时滚动以显示第二个菜单,该菜单将变得粘滞。我在这里实现了一个粗略的版本:http: //jsfiddle.net/hSpLQ/
我有两个主要问题
1) 内容滚动不流畅。如果您快速滚动,您会注意到内容移动不顺畅。
2)我不确定这是实现此类动画/效果的最佳方式。代码很粗糙,但我想知道是否有更好/更优化的方法来实现这一点。
谢谢
这是粗略原型的代码(与 JsFiddle 链接相同)
<html lang="en">
<head>
<style type="text/css">
body{
height: 2000px;
}
.container {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
background-color: #CCC;
height: 80px;
overflow: hidden;
}
.content1, .content2 {
height: 40px;
margin: 40px;
}
</style>
</head>
<body>
<div class="container">
<div class="content">
<div class="content1">
lots of text
</div>
<div class="content2">
more text
</div>
</div>
</div>
</body>
<script src="js/jquery.min.js"></script>
<script type="text/javascript">
$(window).scroll(function() {
var scrollYpos = $(document).scrollTop();
if (scrollYpos > 200 && scrollYpos < 300) {
var y = 200-scrollYpos;
$(".content").css({'position': 'relative', 'top': y});
}
});
</script>
</html>