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中没有发现
分享到:
相关推荐
### AJAX工具集直接添加到选项卡中的实现与应用 #### 一、引言 随着Web技术的不断发展,AJAX(Asynchronous JavaScript and XML)作为一种重要的前端技术,在网页开发中的地位日益凸显。它允许网页在不重新加载...
Windows调试工具集(Windbg)是微软提供的一款强大的调试工具,尤其在系统级调试和崩溃分析方面具有显著优势。Windbg适用于对驱动程序、应用程序、系统服务等进行调试,其功能包括内存分析、堆栈跟踪、注册表查看、...
次模集函数(Submodular Set Function)具有类似于子模性质的特性,即增加一个元素到集合中带来的增益会随着集合的增大而减少。这种函数在信息理论、图论、机器学习等多个领域都有应用。 在MATLAB环境下,针对次模...
S-Function,即系统函数(System Function),是Simulink环境中一种强大的工具,用于扩展Simulink的功能性。它允许用户自定义模型中的行为,实现Simulink本身不支持或者封装在特定模块中的复杂功能。 #### 什么是S-...
S-Function可以使用MATLAB、C、C++、Ada或Fortran等多种语言编写,并且可以通过MEX实用工具进行编译。 #### 什么是S-Function S-Function是一种自定义的Simulink模块,它可以实现复杂的系统行为,并且能够被嵌入到...
最小二乘支持向量机(LSSVM)是一种统计学习工具,其最新版本为1.6版,它在版本1.5的基础上新增了许多功能,同时也更新了现有的一些命令,以加速算法的实现。LSSVM工具箱主要用于回归和分类算法,包括各种函数的功能...
在IT行业中,打印机和相关的打印指令以及测试工具是不可或缺的部分,尤其对于系统管理员和技术支持人员来说,理解这些概念和工具至关重要。"printer打印指令+测试工具"这一主题涵盖了多个方面,包括打印机控制语言、...
在IT领域,Boost库是一个非常重要的C++工具集,它为C++标准库提供了许多扩展功能,其中`bind`和`function`是两个非常实用的工具。本文将深入探讨这两个概念以及如何在消息处理框架中使用它们。 首先,让我们了解`...
### GREEDY FUNCTION APPROXIMATION: A GRADIENT BOOSTING MACHINE #### 1. 引言与背景 本文探讨了一种新的函数逼近方法——贪心函数逼近法(Greedy Function Approximation, GFA),该方法特别关注梯度提升机...
以上介绍的几个函数都是ASP开发中非常实用的工具,它们可以帮助开发者更方便地实现各种功能,并提高了应用程序的安全性和健壮性。在实际开发过程中,可以根据具体需求对这些函数进行适当的修改和扩展,以适应不同的...
6. **样例与测试集**:`testsets` 文件夹包含多个示例问题,可以帮助用户快速上手并理解工具箱的使用方法。 7. **文档**:`README.md` 和 `info.xml` 文件提供了工具箱的基本介绍和使用指南。 8. **库文件**:`@...
Delphi是一种快速应用程序开发工具,它使用Object Pascal语言作为其主要的编程语言。过程和函数在Delphi中承担着封装代码逻辑、实现代码复用、以及功能模块化的重要角色。通过在Delphi中定义和使用过程与函数,...
源码适用于那些希望自建一个便捷工具平台的个人或团队,尤其在没有本地工具集的情况下,可以通过网页端进行各种操作。 该工具箱的测试环境为`nginx`服务器搭配`PHP5.6`版本以及`MySQL5.5`数据库,这表明源码设计时...
2. ** fitness function**:用户需要定义一个目标函数(fitness function),工具箱将根据该函数评估每个解的质量。 3. **迭代过程**:在每一轮迭代中,工具箱会执行工蜂、侦查蜂和留守蜂的策略,更新解集。 4. **...
总的来说,"Function.rar"这个资源包可能是IT开发者处理emoji字符问题的一个实用工具集,尤其是对于使用ThinkPHP框架的项目。通过学习并运用这些函数,开发者可以更好地应对在处理emoji时遇到的各种难题,提高应用...
5. 示例脚本和数据集:工具箱可能包括一些示例脚本来演示如何使用这些函数,以及一些真实或模拟的信号数据,帮助初学者快速上手。 在实际应用中,EMD工具箱可以帮助科研人员和工程师在以下领域实现高效的数据分析:...
质量功能展开(Quality Function Deployment,简称QFD)是一种在产品开发过程中确保产品质量满足市场需求的强大工具集,最初由日本发展而来,旨在将质量控制的概念从制造过程转移到新产品开发中。QFD由A.J. Lowe博士...
本文将深入探讨“[web设计工具集] tab选项卡特效集”,主要关注js+html实现的选项卡特效,以及如何利用这些特效提升网站的交互性和吸引力。 一、选项卡的基本原理与结构 选项卡通常由一个或多个标签页和相对应的...
Rational Function Tester(简称RFT)是一款由IBM开发的功能强大的自动化测试工具,适用于多种应用程序的测试需求。RFT支持Java和.NET环境下的自动化测试,使得开发者能够在不同平台上无缝地进行测试工作。本文将...