2016-11-04 104 views
0

在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

我在Safari v。10.0.1中遇到了同樣的情況。

window.addEventListener('scroll',function() { 
    // Nothing happens here in Safari. Scroll event is never fired. 
}); 

編輯:我有一個問題,我的CSS修復了這個問題。我有一些舊的東西,我忘了從我的CSS中刪除滾動點(我不需要)。在周圍我的內容股利我有

height: 100vh; 

所以它是有道理的窗口上的滾動事件不會被解僱,因爲我想我的DIV內部滾動代替。

相關問題