向上滚动 50px 后显示导航菜单
Show nav menu after scrolling up 50px
我想在向上滚动时显示粘性菜单导航,同时在显示导航菜单之前有延迟。我可以使用动画和不透明度来做到这一点,但效果不佳。
我试图在从当前位置向上滚动 50 像素时显示导航菜单,但没有成功。
脚本如下:
var previousScroll = 0,
headerOrgOffset = $('#header').height();
$('#header-wrap').height($('#header').height());
$(window).scroll(function () {
var currentScroll = $(this).scrollTop();
if (currentScroll > headerOrgOffset) {
if (currentScroll > previousScroll) {
$('#header-wrap').slideUp();
} else {
$('#header-wrap').slideDown();
}
}
previousScroll = currentScroll;
});
注意:我在 Headroom.js
的脚本中看到了这个功能
我该怎么做?
您当前的设置仅考虑大于 headerOrgOffset
的卷轴。如果您希望向下滑动,则需要考虑滚动小于 headerOrgOffset
的情况。由于您还需要一个 50px 的缓冲区,因此我在 else 语句中添加了一个 -50。
var previousScroll = 0,
savedScroll = 0,
headerOrgOffset = $('#header').height();
$('#header-wrap').height($('#header').height());
$(window).scroll(function () {
var currentScroll = $(this).scrollTop();
if (currentScroll > headerOrgOffset) {
if (currentScroll > previousScroll) {
$('#header-wrap').slideUp();
reappearScroll = currentScroll - 50;
} else {
if (currentScroll < reappearScroll) {
$('#header-wrap').slideDown();
}
}
}
previousScroll = currentScroll;
});
我想在向上滚动时显示粘性菜单导航,同时在显示导航菜单之前有延迟。我可以使用动画和不透明度来做到这一点,但效果不佳。
我试图在从当前位置向上滚动 50 像素时显示导航菜单,但没有成功。
脚本如下:
var previousScroll = 0,
headerOrgOffset = $('#header').height();
$('#header-wrap').height($('#header').height());
$(window).scroll(function () {
var currentScroll = $(this).scrollTop();
if (currentScroll > headerOrgOffset) {
if (currentScroll > previousScroll) {
$('#header-wrap').slideUp();
} else {
$('#header-wrap').slideDown();
}
}
previousScroll = currentScroll;
});
注意:我在 Headroom.js
的脚本中看到了这个功能我该怎么做?
您当前的设置仅考虑大于 headerOrgOffset
的卷轴。如果您希望向下滑动,则需要考虑滚动小于 headerOrgOffset
的情况。由于您还需要一个 50px 的缓冲区,因此我在 else 语句中添加了一个 -50。
var previousScroll = 0,
savedScroll = 0,
headerOrgOffset = $('#header').height();
$('#header-wrap').height($('#header').height());
$(window).scroll(function () {
var currentScroll = $(this).scrollTop();
if (currentScroll > headerOrgOffset) {
if (currentScroll > previousScroll) {
$('#header-wrap').slideUp();
reappearScroll = currentScroll - 50;
} else {
if (currentScroll < reappearScroll) {
$('#header-wrap').slideDown();
}
}
}
previousScroll = currentScroll;
});