0
私はメインの固定ナビゲーションを持っていますが、後でそのページで取り上げられるサブナビもあります。スティッキーサブナビゲーションが停止するのを防ぐために
#secondary-nav
divをスクロールすると、.sticky
のクラスが追加され、position:fixed
がdivに追加されます。しかし、すでにスクロールした後で、メインナビゲーションの下にジャンプします。これをスムーズに追加するにはどうしたらいいですか?スクロールするとスムーズに追加され、上にスクロールすると元に戻ります。
HTML:
<nav id="top-wrapper">I'm a sitcky navigation</nav>
<div id="hero">
hero image!
</div>
<nav id="secondary-nav">
I'm the secondary nav.
</nav>
<div id="content">
I'm the content, scroll down!
</div>
のjQuery:
$(window).scroll(function() {
if ($(document).scrollTop() === 0) {
$('#top-wrapper').removeClass('sticky ');
} else {
$('#top-wrapper').addClass('sticky ');
}
});
$(document).ready(function() {
$(function() {
var nav = $('#secondary-nav');
if (nav.length) {
var stickyNavTop = nav.offset().top;
$(window).scroll(function() {
if ($(window).scrollTop() > stickyNavTop) {
$('#secondary-nav').addClass('sticky');
} else {
$('#secondary-nav').removeClass('sticky');
}
});
}
});
});
更新されたフィドルを参照してください。これはあなたにとっては大丈夫です。https://jsfiddle.net/fgfb9cpq/3/ – prasanth