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需刷新才能执行]