`
seavers
  • 浏览: 170348 次
  • 来自: ...
社区版块
存档分类
最新评论

function 工具集

阅读更多
function 工具集


经常会碰到这样的问题
1. button.click 后,只调用一次方法
2. window.scroll触发太频繁,导致滚动加载次数太多
3. document.keyup次数太多,导致智能提示调用次数太多


你需要以下的方法来解决此类问题


$('a.load').on('click', $.once(function() {
     $('#tabs .first').load(url);
}));

$(window).on('scroll', $.throttle(function() {
     $('#rest').lazyload();    
}));

$(input).on('keyup', $.debounce(function() {
     $.suggest($(this).val())
}));





工具集源码如下:

$.bind = function(func, context) {
      var args = Array.prototype.slice.call(arguments, 2);
      return function() {
          return  func.apply(context, args);
      }
}

//只调用一次
$.once = function(func){
        var ran = false;
	return function() {
		if(ran) return;
		ran = true;
		func();
	}
}

//ms时间内只执行一次
$.throttle = function(func, ms) {
   ms = ms || 150;

   var last = +new Date();
   var timer ;
    return function() {
        var now = +new Date();
        if(now - last > ms) {
             timer = null;
             last = now;
             func();
        } else {
             timer = setTimeout(func, ms - (now-last));
        }
    }
}

//缓冲ms时间后才执行
$.debounce = function(func, ms) {
       ms = ms || 150;

       var timer;
       return function() {
           clearTimeout(timer);
           timer = setTimeout(func, ms);
      }
}





  • underscore, yui 中有throttle, debounce两个方法, jquery中没有发现







分享到:
评论

相关推荐

    MATLAB代码-circstat-matlab:Matlab循环统计工具箱

    定向数据在科学中无处不在。由于其循环性质,此类数据无法使用常用的统计技术进行分析。尽管在过去的50年里,定向统计的专门方法发展迅速...最后,我们分析了一个来自神经生理学的数据集,以展示CircStat工具箱的功能。

    printer打印指令+测试工具

    打印指令+测试工具.zip

    RC 4.0 调试工具

    RC 4.0 调试工具 RCK(remote call kernel 缩写)为远程调用内核, 其通讯协议为自定义数据流协议。 RCK 负责远程调用过程中的数据组织, 并不关心实际物理通讯协议, 实则属于逻辑层通讯 协议。 RCK 通讯槽接口...

    JAVA通用函数式编程工具集Style.zip

    // define a function to see if list contain a person with given name: def check = $(  (List ls, String name) -> null != $(list).forEach(e -> {  if (e.name().equals(name)) ...

    EXCEL集成工具箱V6.0

    自定义函数,集160个工具于一身,但体积小于15MB。当安装集成工具箱后,如果您使用Excel 2003,则将产生【工具箱】菜单, 包括160多个子菜单;如果您使用Excel 2007或者2010,将产生【集成】与【工具箱】功能区。...

    Matlab常用工具箱

    matlab\general - General ...matlab\funfun - Function functions and ODE solvers. matlab\sparfun - Sparse matrices. matlab\scribe - Annotation and Plot Editing. matlab\graph2d - Two dimensional graphs.

    MATLAB机器人工具箱错误合集.pdf

    (如果是英⽂版,错误应该是Attempt to execute SCRIPT robot as a function: G:\MATLAB2012\toolbox\robot-9.8\rvctools\robot\demos\robot.m) 错误原因 MATLAB运⾏⽬录下有个同名的 robot.m⽂件,它与此函数冲突...

    SPDX-Tools:支持SPDX标准的工具

    句法spdx工具的命令行界面可以这样使用: java -jar spdx-tools-jar-with-dependencies.jar <function> <parameters>SPDX格式转换器spdx工具提供了以下转换器工具: TagToSpreadsheet TagToRDF RdfToTag 读音...

    本科毕设计基于卷积神经网络的疲劳驾驶检测项目源码+数据集+权重文件

    loss_function.py 损失函数 (loss function) detection.py 检测结果的处理代码,将 SSD 返回结果处理为 opencv 可以处理的形式 eval.py 评估网络性能代码 test.py 单张图片测试代码 Ps:没写参数接口,所以要改测试的...

    EXCEL集成工具箱V8.0完整增强版(精简)

    自定义函数,集160个工具于一身,但体积小于16MB。当安装集成工具箱后,如果您使用Excel 2003,则将产生【工具箱】菜单, 包括160多个子菜单;如果您使用Excel 2007或者2010,将产生【集成】与【工具箱】功能区。...

    基于卷积神经网络的疲劳驾驶识别检测系统源码+数据集+训练好的数据(python毕业设计).zip

    loss_function.py 损失函数 (loss function) detection.py 检测结果的处理代码,将 SSD 返回结果处理为 opencv 可以处理的形式 eval.py 评估网络性能代码 test.py 单张图片测试代码 Ps:没写参数接口,所以要改测试的...

    godot-gdscript-toolkit:独立的GDScript工具集-解析器,lint和格式化程序

    GDScript工具包 该项目为GDScript日常工作提供了一组工具。 目前,它提供: ... misc/MarkovianPCG.gd:96: Error: Function argument name "aOrigin" is not valid (function-argument-name) misc/Markovia

    matlab代码中fnames-matlabtools:Matlab工具集的集合,包括HDR图像查看器

    Matlab工具集的集合,包括: mex自动编译: 方便的助手:,,,,,,,,,... OpenEXR读写器,基于tinyexr.h,支持多通道(例如,光谱)图像,即仅标头编译: exr_read() , exr_write() , exr_query() 可嵌入的...

    pepo:帮助生成 Cucumber-js 步骤定义的工具集

    Pepo 是一个非常简单的工具,可以帮助缓解这种情况。 它从标准输入中读取并进行一些有用的转换: 删除 CSI 代码。 提取片段并且可选地将它们包装在 module.exports = function () {...}; 中。 这样你只需要将它们...

    arcgis工具

    25.属性表中选择集与非选择集的切换 Options/switch selection 26.快速把选择的要素另存为一个图层并加载进来。 先选责需要另存图层的要素(直接选择或者属性表),然后在图层上右键Selection/create Layer From ...

     Origin8.0 白东升经典视频教程.txt

    第21集:图形工具的使用;介绍Tools工具栏、Graph工具栏、Mask工具栏和Object Edit工具栏的使用方法 第22集:主题绘图与模板绘图;介绍主题绘图与模板绘图的操作方法 第23集:Excel窗口绘图;介绍在Excel窗口中绘制...

    2022年精选数学建模算法教程文档合集第14期:蚁群算法(30份).zip

    粒子群工具箱 - Particle Swarm (PSO) Toolbox-beta-0.3 粒子群算法matlab源程序function.docx 粒子群算法的源代码 粒子群算法简介.ppt 蚁群算法.ppt 蚁群算法.rar 蚁群算法C程序代码.doc 蚁群算法matlab源码.txt 蚁...

    redis-sync:Node.js Redis复制从属工具包

    重新同步一个 从属工具箱。 redis-sync实现SYNC命令的复制从属端,并在修改数据集的所有命令SYNC式传输。 它还可以使用解析命令之前的数据集转储。 如果无法连接,断开连接或redis仍在加载数据集,则redis-sync将...

    xstruct:一组用于从Web提取结构化数据的工具

    架构用于从Web提取结构化数据的工具集。安装npm i xstruct --save例子从提取评论的示例。 var $ = require ( 'xstruct' ) ;return $ . getHtml ( 'http://dou.ua/forums/topic/14416/' ). then ( function ( html ) ...

    毕业设计-基于Python+卷积神经网络的人脸识别+驾驶员疲劳检测与预警系统的设计与实现.zip

    loss_function.py 损失函数 (loss function) detection.py 检测结果的处理代码,将 SSD 返回结果处理为 opencv 可以处理的形式 eval.py 评估网络性能代码 test.py 单张图片测试代码 Ps:没写参数接口,所以要改测试的...

Global site tag (gtag.js) - Google Analytics