<nav class="float-nav">
<ul>
<li><a href="#" class="float-nav__item">Menu1</a></li>
<li><a href="#" class="float-nav__item">Menu2</a></li>
<li><a href="#" class="float-nav__item">Menu3</a></li>
<li><a href="#" class="float-nav__item">Menu4</a></li>
<li><a href="#" class="float-nav__item">Menu5</a></li>
</ul>
</nav>
<div>
<p class="text-center">▼▼▼ スクロールしてください ▼▼▼</p>
<div class="spacer"></div>
<div class="spacer"></div>
<div class="spacer"></div>
</div>
.float-nav {
position: absolute;
top: 100px;
left: 16px;
padding: 16px;
background: #333;
transition: top 0.3s;
}
.float-nav__item {
display: block;
width: 100px;
color: #fff;
}
.float-nav {
position: absolute;
top: 100px;
left: $space_lg;
padding: $space_lg;
background: $color_main;
transition: top $speed_fast;
&__item {
display: block;
width: 100px;
color: $color_opposite;
}
}
(function() {
const navEl = document.querySelector('.float-nav');
if(!navEl) {return;}
let ticking = false;
document.addEventListener('scroll', menuMove, {passive: true});
function menuMove() {
if (!ticking) {
requestAnimationFrame(function() {
ticking = false;
navEl.style.top = `${window.pageYOffset + 100}px`;
});
ticking = true;
}
}
}());