这是一种最简单的用法:
(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了,而是变成了我给他绑定的这个节点对象. (编辑:重庆站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|