用户向上/向下滚动时隐藏/显示导航栏
以下是我想要实现的示例: http ://haraldurthorleifsson.com/ 或 http://www.teehanlax.com/story/readability/
向上滚动时导航栏在屏幕上向上滑动,向上滚动时向下滑动屏幕.我已经想出了如何使用淡入/淡出来实现它,但我想用与示例中完全相同的动画来实现它.注意:我已经尝试过SlideIn(),就像它进行拉伸动画一样......
JQUERY:
var previousScroll = 0,
headerOrgOffset = $('#header').offset().top;
$('#header-wrap').height($('#header').height());
$(window).scroll(function() {
var currentScroll = $(this).scrollTop();
console.log(currentScroll + " and " + previousScroll + " and " + headerOrgOffset);
if(currentScroll > headerOrgOffset) {
if (currentScroll > previousScroll) {
$('#header').fadeOut();
} else {
$('#header').fadeIn();
$('#header').addClass('fixed');
}
} else {
$('#header').removeClass('fixed');
}
previousScroll = currentScroll;
});
Run Code Online (Sandbox Code Playgroud)
CSS:
#header {
width: 100%;
z-index: 100;
}
.fixed {
position: fixed;
top: 0;
}
#header-wrap {
position: …Run Code Online (Sandbox Code Playgroud) 请查看此JPG以供参考:

我的导航栏出现在页面顶部.我正在寻找的行为是:向上滚动时,相同的导航栏淡入并固定在屏幕顶部.
我在这里使用的代码是有效的,但我不确定如何设置一个规则,一旦你向上滚动到默认位置,就会阻止导航器粘到屏幕顶部.目前,使用下面的代码,即使向后滚动到页面顶部,导航仍会固定在顶部.
function () {
var previousScroll = 0;
$(window).scroll(function(){
var currentScroll = $(this).scrollTop();
if (currentScroll > previousScroll){
$('#header').fadeOut();
} else {
$('#header').fadeIn();
$('#header').addClass('fixed');
}
previousScroll = currentScroll;
});
Run Code Online (Sandbox Code Playgroud)
我的CSS是:
.fixed {
position: fixed;
top: 0;
}
Run Code Online (Sandbox Code Playgroud)