思路:当用户划过 设置变量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); }; } 测试代码:
这是一个测试DIV
把鼠标放在上面2秒后会弹出他的ID
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
推荐阅读
Jquery 获得服务器控件值的方法小结
服务器控件代码:<asp:TextBox ID="txtUserID" runat="server"></asp:TextBox> 1. $("#<%=txtUserID.ClientID%>").val(); 2. $("input[id*=txtUserID]").val(); 3. $("*[id$=txtUserID]").val(); >>>详细阅读
本文标题:JS 事件延迟执行说明分析
地址:http://www.17bianji.com/kaifa2/JS/26433.html
1/2 1