javascript - 防止功能在用户滚动时运行

标签 javascript jquery

我怎样才能做这样的事情?

myfunction () {

    if (notscrolling) {

        // do stuff

    }
}

这是我能找到的最佳解决方案:

它获取当前滚动位置,然后 5 毫秒后再次获取。如果数字相同,则页面不会滚动!不需要全局变量。

myfunction () {

    var a = $(document).scrollTop();

    setTimeout(function() { 
        var b = $(document).scrollTop();

            if (a === b) {

                // do stuff here cuz its not scrolling :) !!!!

            }
    }, 5);

}

最佳答案

查看http://james.padolsey.com/javascript/special-scroll-events-for-jquery/ 用于滚动开始和滚动停止事件。

使用这些事件设置全局变量scrolling并在myfunction中检查

关于javascript - 防止功能在用户滚动时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867744/

相关文章:

javascript - 为什么一个组件的多个实例共享相同的状态?

javascript - AngularJS - 一种使 html 输入超时一秒然后调用 $watch 的方法

javascript - 仅切换一个具有相同类名的节点

javascript - npx 找不到模块 'webpack'

javascript - 如何在 G+ 分享按钮左侧设置 google plus 计数器

javascript - ReCaptcha 2.0 与 AJAX

javascript - 有没有办法重构这个 javascript/jquery?

c# - 使用 Ajax 更改包含链接的标签内部文本

javascript - Bootstrap 4 on Wide Displays : Centering, 并确保图像不会比包裹它的文本高

javascript - 使用嵌入或对象标签中的元素