javascript - 关闭 Firefox 的平滑滚动功能?

标签 javascript jquery

Firefox 的新平滑滚动功能会在动画的每一步触发滚动回调。

DEMO in FF and Chrome to see the difference

有什么办法可以让它

  1. 仅在页面完成滚动时触发一个事件
  2. 使页面像 Chrome 中那样突然滚动

最佳答案

试试这个:

function throttle( fn, timeout ) {
    var tid = 0;
    return function() {
        clearTimeout( tid );
        var args = [].slice.call( arguments ),
            ctx = this;

        tid = setTimeout( function() {
            fn.apply( ctx, args );
        }, timeout );
    };
}

$(window).on("scroll", throttle( function() {
    $('div').eq(0).append('scroll happened');
}, 100));

只有在 100 毫秒内没有发生滚动时才会触发滚动。

http://jsfiddle.net/NLGHS/1/

关于javascript - 关闭 Firefox 的平滑滚动功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10996067/

相关文章:

javascript - array.pop() 函数奇怪的行为

Javascript 多电子邮件正则表达式验证

javascript - 使用 JavaScript 应用 CSS 规则

javascript - html5 视频 - 使整个视频可以在 Android 上点击播放?

php - Jquery Ajax/PHP - 多次调用函数

javascript - 裁剪图像并使用 php 上传

javascript - 在 selectize.js 中隐藏箭头图标

javascript - 如何过滤要写入新文档的 HTML,删除 JavaScript 中的某些类和/或 ID?

javascript - 如何访问 Wikipedia API 返回的 JSON 中的嵌套对象

javascript - 无法在位置固定的父元素中使用模态