IE 11 smooth scrolling not firing intermediate scroll events

internet-explorer, javascript, jquery, underscore.js

Solution

You said: "If anyone has found a way to fix IE's behaviour (maybe there's a magic CSS to turn off smooth scrolling in IE 11?) then I would very much like to hear about it!"

This does not turn it off, but here is what I use to resolve the smooth scroll issue in ie with Fixed elements.

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);
    });
}

Problem

If we make a simple test case like: ``` document.documentElement.addEventListener('scroll', function() { console.log(document.documentElement.scrollTop); }); ``` And then go and scroll using the scrollbar by clicking the track, or by using PageDown/PageUp, then we can see that we only get one event at the end of the scrolling animation. Now theoretically I could fix some of that behaviour by simulating the scroll events. Example code with jQuery and Underscore: ``` $(function () { var $document = $(document), until = 0; var throttleScroll = _.throttle(function () { $document.scroll(); if (+new Date < until) { setTimeout(throttleScroll, 50); } }, 50); $document.keydown(function (evt) { if (evt.which === 33 || evt.which === 34) { until = +new Date + 300; throttleScroll(); } }); }); ``` But it still does not work. We only get scroll events with the original `scrollTop` and the destination `scrollTop`, no values in between. If then go and `console.log(document.documentElement.scrollTop)` every 10ms, then we can see that IE just does not update the `scrollTop` as it scrolls. This is very frustrating if we want to "pin" something to the scroll position. It gets jerky with IE. I did not observe this behaviour on any other browser, and did not test with previous IE versions. If anyone has found a way to fix IE's behaviour (maybe there's a magic CSS to turn off smooth scrolling in IE 11?) then I would very much like to hear about it! Thanks :-)

Original source

Related problems