我正在制作一个原型,它有一个导航栏,当用户向下滚动页面时会显示该导航栏,并显示用户向上滚动的时间。我想通过设置跟踪用户何时不再滚动的事件并在短时间内(1.5 - 2秒)将导航面板动画回页面来更进一步。
我已经读过如何做到这一点,但我还没有找到完全符合我需求的东西。
以下是我的原型供参考:https://codepen.io/v_for_vinsanity/pen/2af1bfb20ae1578466943c7356de7348
这是我用来显示/隐藏导航栏的jquery:
var scrollSet = null;
var didScroll = false;
var windowTop = $(window).scrollTop();
function scrollUpdate () {
didScroll = true;
windowTop = $(window).scrollTop();
}
function scrollTicker () {
if(didScroll) {
if(windowTop > scrollSet) {
$('body').addClass('hide-nav')
scrollSet = windowTop;
}
else if(scrollSet > windowTop){
$('body').removeClass('hide-nav')
scrollSet = windowTop;
}
didScroll = false
}
requestAnimationFrame(scrollTicker);
}
$(window).scroll(scrollUpdate);
scrollTicker();