ページを下にスクロールするとメニューが変わる固定トップ ナビゲーションを作成しようとしています。特定の y ポイントを過ぎてスクロールすると、ページを下にスクロールしてメニューがスクロールし、2 番目のメニューが表示されます。ここに大まかなバージョンを実装しました: http://jsfiddle.net/hSpLQ/
主な問題が 2 つあります
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>