我正在尝试创建一个导航栏,当用户向下滚动时向上和向下滑动屏幕,然后当用户停止滚动/向上滚动时向下滚动。下面是我的脚本的片段和的jsfiddle:jQuery和Safari的一个问题
$(document).ready(function() {
var position = $(window).scrollTop();
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll > position) {
$('.nav').addClass('active');
} else {
$('.nav').removeClass('active');
}
position = scroll;
});
});
https://jsfiddle.net/z2uc89sL/
再加上我的CSS这适用于所有我在测试它除了Safari浏览器(我运行9.0版浏览器的罚款。 2在Mac上)。正在发生的问题是,当您点击页面顶部并且没有更多空间可以向上滚动时,导航会通过重新滑动而再次隐藏(就好像用户实际上再次向下滚动,而不是碰到顶端的页面)。相反的情况也发生在页面的底部。
如果你看看Safari中的小提琴,你会看到我正在谈论的问题。如果你在任何其他浏览器中看小提琴,你会看到我想要实现的。
谢谢你。你拯救了我的生命:) – danMad
@DanMad非常高兴听到这个消息。让我知道,如果你需要任何进一步的帮助来理解上述答案,甚至任何其他事情!干杯:) – Danish