似乎在Safari(版本:9.1)中,jQuery和vanilla JavaScript都没有捕获滚动事件。
我的目标是捕捉滚动位置,如果它低于50px,则通过添加类来修复导航栏,否则删除该类。
我下面的代码片段适用于Chrome,Firefox和IE,但不适用于Safari。
$(window).on('scroll', function(){
if( $(window).scrollTop()>50 ){
$('.navbar').addClass('nav-fixed');
}
else {
$('.navbar').removeClass('nav-fixed');
}
});
答案 0 :(得分:0)
我在Safari v.10.0.1中遇到了同样的事情。
window.addEventListener('scroll',function() {
// Nothing happens here in Safari. Scroll event is never fired.
});
编辑:我的CSS问题解决了这个问题。我有一些旧的东西用于滚动捕捉点(我不需要)我忘了从CSS中删除。围绕我的内容的div我有
height: 100vh;
因此,窗口上的滚动事件不会被触发是有意义的,因为我会在我的div中滚动。