如何以编程方式在IE 11中禁用平滑滚动

时间:2015-07-07 09:07:24

标签: javascript jquery html ajax internet-explorer

我正在基于滚动事件进行ajax调用,调用在除IE11之外的所有浏览器中都能正常工作,我找到了原因,因为通过deafault" Smooth Scrolling"为IE11启用了ajax调用经常调用, 所以如何使用javascript或jquery禁用该设置,任何回复都是完整的。

提前致谢。

1 个答案:

答案 0 :(得分:0)

OS X,iOS Safari 8+以及更多浏览器上的所有浏览器都具有相同的行为。你不能,绝对不应该改变它。

您可以做的是限制调用函数的速率。 Throttle它。

打开浏览器的控制台,查看此示例。你会看到"滚动"经常被调用但是节流卷轴"最多只能每200毫秒一次。



var handler = function () {
	console.log('scroll');
};
var throttledHandler = throttle(function () {
	console.log('throttled scroll');
}, 200);

window.addEventListener('scroll', handler);
window.addEventListener('scroll', throttledHandler);

function throttle (callback, limit) {
    // source: http://sampsonblog.com/749/simple-throttle-function
    var wait = false;                 // Initially, we're not waiting
    return function () {              // We return a throttled function
        if (!wait) {                  // If we're not waiting
            callback.call();          // Execute users function
            wait = true;              // Prevent future invocations
            setTimeout(function () {  // After a period of time
                wait = false;         // And allow future invocations
            }, limit);
        }
    }
}

<p>scroll me</p>
<p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p><p>1</p><p>1</p><p>1</p><p>1</p><p>1</p><p>---</p>
&#13;
&#13;
&#13;