繁体   English   中英

如何在IE11中禁用平滑滚动

[英]How to disable smooth scrolling in IE11

IE的平滑滚动导致我的应用程序表现得很奇怪(滚动事件会在很短的时间内触发)。

有没有办法使用CSS或Javascript完全禁用IE11中的平滑滚动?

为IE11的所有Windows 8用户打开IE的平滑滚动功能。

您可以通过转到Internet选项,高级并取消选中使用平滑滚动来禁用它。 它解决了这个问题。 但是,您网站的所有用户都不会这样做。 所以我强烈建议你不要禁用它。 尝试在用户将使用的相同计算机/浏览器上进行开发。 否则,您的网站用户就会出现不一致之处。 出于同样的原因,我还建议不要更改默认的浏览器设置。

这是一个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);
    });
}

此代码将处理每种滚动类型(鼠标和键盘(PageUP,PageDOWN,Up,Down)):

if(navigator.userAgent.match(/Trident\/7\./)) { // if IE
    $('body').on("mousewheel", function () {
        // remove default behavior
        event.preventDefault(); 

        //scroll without smoothing
        var wheelDelta = event.wheelDelta;
        var currentScrollPosition = window.pageYOffset;
        window.scrollTo(0, currentScrollPosition - wheelDelta);
    });
    $('body').keydown(function (e) {
        var currentScrollPosition = window.pageYOffset;

        switch (e.which) {
            case 33: // page up
                e.preventDefault(); // prevent the default action (scroll / move caret)
                window.scrollTo(0, currentScrollPosition - 600);
                break;
            case 34: // page down
                e.preventDefault(); // prevent the default action (scroll / move caret)
                window.scrollTo(0, currentScrollPosition + 600);
                break;
            case 38: // up
                e.preventDefault(); // prevent the default action (scroll / move caret)
                window.scrollTo(0, currentScrollPosition - 120);
                break;
            case 40: // down
                e.preventDefault(); // prevent the default action (scroll / move caret)
                window.scrollTo(0, currentScrollPosition + 120);
                break;
            default: return; // exit this handler for other keys
        } 
    });

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM