JS 事件延迟执行说明分析


思路:当用户划过 设置变量i=0;
每过100毫秒 i++
当i==10的时候就刚好 是1秒。就触发事件。
   否则用清楚setInterval i不在++;
哈哈。不知道我描述清楚没。
代码:

复制代码 代码如下:

var delay=function(t,fn){
var i=0,
j=10,
t=(t*1000)/j,
//把延迟时间平均分成10等份
_this=this,
//解决this绑定问题,所以调用delay函数的时候,请处理好this指向本身对象
d=setInterval(function(){
i++;
if(i==j){
clearInterval(d);
fn.apply(_this);
};
},t);
_this.onmouseout=function(){
clearInterval(d);
};
}

测试代码:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

思路:当用户划过 设置变量i=0;
每过100毫秒 i++
当i==10的时候就刚好 是1秒。就触发事件。
   否则用清楚setInterval i不在++;
哈哈。不知道我描述清楚没。
代码:
复制代码 代码如下:
var delay=function(t,fn){
var i=0,
j=10,
t=(t*1000)/j,
//把延迟时间平均分成10等份
_this=this,
//解决this绑定问题,所以调用delay函数的时候,请处理好this指向本身对象
d=setInterval(function(){
i++;
if(i==j){
clearInterval(d);
fn.apply(_this);
};
},t);
_this.onmouseout=function(){
clearInterval(d);
};
}

测试代码:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3