jQuery Waypoints ライブラリを使用して、メニュー バー コンテナーの位置を静的から固定に変更します。ブラウザ ウィンドウをメニュー バーまでスクロールすると、バーはウィンドウの上部に固定されます。
ウェイポイントまでゆっくりとスクロールすると、状態の変化がスムーズに発生するように見えますが、通常の速度でスクロールすると、メニュー バーのコンテンツにわずかなジャンプ/バウンスが発生します。
マークアップ:
<div class="wrapper">
<div class="less"></div>
<div class="container">
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Clients</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</nav>
</div>
<div class="more"></div>
</div>
関連する CSS:
.container {
height: 50px;
}
nav {
background: #cdce12;
height: 50px;
}
nav ul {
margin: 0;
padding: 0;
}
nav li {
display: inline-block;
}
.sticky nav {
position: fixed;
top: 0;
left: 0;
right: 0;
}
jQueryコードは次のとおりです。
$(function() {
var $container = $('.container');
var $b = $('body');
$container.waypoint({
handler: function(event, direction) {
$b.toggleClass('sticky', direction === 'down');
event.preventDefault();
}
});
});
問題を説明するためにJSFiddleをセットアップしましたが、この影響を防ぐことができるのでしょうか?