Safari and $(window).on('scroll')

Safari and $(window).on('scroll')

本文关键字:and scroll window on Safari      更新时间:2023-09-26

似乎在Safari(版本:9.1)中,jQuery和普通JavaScript都无法捕获滚动事件。

我的目标是捕捉滚动位置,如果它低于50px,通过添加一个类来固定导航栏,否则删除该类。

我在下面放置的代码片段在Chrome, Firefox和IE中工作,但在Safari中不工作。

$(window).on('scroll', function(){
    if( $(window).scrollTop()>50 ){
        $('.navbar').addClass('nav-fixed');
    } 
    else {
        $('.navbar').removeClass('nav-fixed');
    }
});

我在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中滚动。