Mootools中delay这个延迟函数的高级用法
这是一种最简单的用法:
(function(){
alert('one second later...');
}).delay(1000);
这个函数会在1秒之后自动被执行
我们看一下delay这个函数的实现方法:
delay: function(delay, bind, args){
return setTimeout(this.pass((args == null ? [] : args), bind), delay);
}
很显然,它是使用了setTimeout来实现的,那么既然如此我们就可以清理他,下边是实现方法:
var Fun=function(msg){
alert('fd');
};
var timer=Fun.delay(5000);
//做某些操作之后清理timer
clearTimeout(timer);
接下来我说一下他的高级用法:
var Fun=function(msg){
alert(typeOf(this))//查看被绑定对象的类型
alert(this.get('tag')+'|'+msg);//显示对象名称和传递的参数
};
//2秒后执行Fun,同时把id='tab1'这个对象传递给Fun这个函数让其this为$('tab1'),然后传递一个参数
Fun.delay(2000,$('tab1'),'啊');
这段代码的意思是,延迟2秒,然后执行Fun这个函数,因为Fun这个函数我用了this,而默认状况下this对应的对象是window对象,而我却希望这个函数能够操作某个节点,所以呢,我就把对节点的绑定传递给了他,然后再传递msg,此时在函数内使用this是对象就不再是window了,而是变成了我给他绑定的这个节点对象.
分类:
编程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架