2015-04-02 133 views
3

IE的平滑滾動導致我的應用程序表現異常(滾動事件被觸發很小的延遲)。如何禁用IE11中的平滑滾動功能

有沒有辦法在IE11中使用CSS或Javascript完全禁用平滑滾動?

+0

可能重複:http://stackoverflow.com/questions/21775234/ie-11-smooth-scrolling-not-firing-intermediate-scroll-events – 2015-04-02 15:17:37

回答

12

對於IE11的所有Windows 8用戶,IE的平滑滾動功能已打開。

您可以通過轉到Internet選項Advanced選項並取消選中使用平滑滾動來禁用它。它解決了這個問題。但是,您網站的所有用戶都不會那樣做。所以我強烈建議你不要禁用它。嘗試在用戶使用的相同機器/瀏覽器上開發。否則,您的網站用戶就會出現不一致情況。出於同樣的原因,我還建議不要更改默認的瀏覽器設置。

這是一個JS修復。

小提琴

if(navigator.userAgent.match(/Trident\/7\./)) { 
    $('body').on("mousewheel", function (event) { 
     event.preventDefault(); 
     var wd = event.wheelDelta; 
     var csp = window.pageYOffset; 
     window.scrollTo(0, csp - wd); 
    }); 
} 
+0

這是否不能解決您的問題?請告訴我。 – 2015-06-03 16:09:05

+0

感謝您的解決方案。這簡直是​​無知,它解決了我的網站的問題。 – iSofia 2015-07-22 18:57:28

+1

很高興您能夠使用它。不要忘記豎起大拇指。 – 2015-07-23 12:35:13