【发布时间】:2013-09-25 19:13:01
【问题描述】:
我创建了一个 jquery 导航,它在向下滚动时隐藏并在向上滚动时显示。
我在执行以下操作时遇到问题;
1) 向下滚动 500 像素后隐藏。
2) 滑入滑出就像这个导航https://www.wunderlist.com/en/
3) 似乎还有一个小错误,使它并不总是在滚动备份时显示。
这是我的演示 http://jsfiddle.net/w2Xx7/
var scroll_pos = 0;
var scroll_time;
$(window).scroll(function() {
clearTimeout(scroll_time);
var current_scroll = $(window).scrollTop();
if (current_scroll >= $('#site-header').outerHeight()) {
if (current_scroll <= scroll_pos) {
$('#site-header').removeClass('hidden');
}
else {
$('#site-header').addClass('hidden');
}
}
scroll_time = setTimeout(function() {
scroll_pos = $(window).scrollTop();
}, 100);
});
谢谢大家!
【问题讨论】:
-
你的
setTimeout()函数只执行一次,比其他 js 代码晚 100 毫秒。因此,如果您不在页面顶部,if (current_scroll <= scroll_pos)将始终为 false。 -
感谢您的帮助。你能用 jsfiddle 演示你的意思吗?
标签: jquery animation navigation slide