栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

jQuery scroll()检测用户何时停止滚动

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jQuery scroll()检测用户何时停止滚动

$(window).scroll(function() {        clearTimeout($.data(this, 'scrollTimer'));        $.data(this, 'scrollTimer', setTimeout(function() { // do something console.log("Haven't scrolled in 250ms!");        }, 250));    });

更新资料

我写了一个扩展来增强jQuery的默认

on
-event-handler。它将一个或多个事件的事件处理函数附加到选定的元素,如果在给定间隔内未触发事件,则调用处理函数。如果您只想在延迟(例如resize事件等)之后才触发回调,则此功能很有用。

检查github-repo是否有更新很重要!

https://github.com/yckart/jquery.unevent.js

;(function ($) {    var on = $.fn.on, timer;    $.fn.on = function () {        var args = Array.apply(null, arguments);        var last = args[args.length - 1];        if (isNaN(last) || (last === 1 && args.pop())) return on.apply(this, args);        var delay = args.pop();        var fn = args.pop();        args.push(function () { var self = this, params = arguments; clearTimeout(timer); timer = setTimeout(function () {     fn.apply(self, params); }, delay);        });        return on.apply(this, args);    };}(this.jQuery || this.Zepto));

像其他任何处理程序

on
bind
-event处理程序一样使用它,除了可以在最后传递一个额外的参数外:

$(window).on('scroll', function(e) {    console.log(e.type + '-event was 250ms not triggered');}, 250);

(此演示使用

resize
代替
scroll



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442026.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号