最近一直在重复发明轮子,又碰到了一个需要用到类似sleep函数的函数,可javascript中并没有提供函数暂停执行Nms的方法,只能自己利用setInterval实现一个类似的功能。
js 代码
- delay = function(fn,parm,scope,config){
- var start = new Date();
- var zero_interval = null;
- var config = config || [];
-
- var h = function(){
- if(new Date()-start >=parm){
- clearInterval(zero_interval);
- fn.apply(scope,config);
- }
- }
-
- zero_interval = setInterval(h,parm);
- }
参数说明如下,fn是延时之后待执行的函数,parm是延时的时间(最后的延时时间会在此基础上增加10-15ms),scope是fn函数的作用范围,config是fn函数的参数。
用法如下:
js 代码
- var startT;
- function delayShow(){
- startT = new Date();
- delay(show,20);
- }
-
- function show(){
- alert(new Date() - startT);
- }
这里得到的提示是31ms的样子,不过在我自己的代码中只是需要延时一下,而不需要严格控制时间的长短。所以这个时间也就没必要细究了。
我自己程序中的代码如下:
js 代码
- ZERO.delay = function(fn,parm,scope,config){
- var start = new Date();
- var zero_interval = null;
- var config = config || [];
- var scope = scope || window;
-
- var h = function(){
- if(new Date()-start >=parm){
- clearInterval(zero_interval);
- fn.apply(scope,config);
- }
- }
-
- zero_interval = setInterval(h,parm);
- }
-
-
- ZMenu.prototype.onMouseOver = function(){
- this.addClass("mouseoverstyle");
- this.hiddenMenu = false;
- if(this.hasChild){
- this.click();
- }
- }
-
- ZMenu.prototype.onMouseOut = function(){
-
- if(this.hasChild){
- ZERO.delay(this.hideChildMenu,20,this);
- this.hiddenMenu = true;
- }
- else{
- this.hiddenMenu = true;
- this.hideChildMenu();
- }
- }
分享到:
相关推荐
1. `setTimeout`函数:这是一个内建的JavaScript函数,用于在指定的毫秒数后调用一个函数或执行某段代码。其基本语法是`setTimeout(function, delay)`, 其中`function`是要执行的函数,`delay`是延迟的时间,单位为...
在JavaScript编程领域,延时函数(也常被称为定时器或延迟执行函数)是开发者们频繁使用的工具之一。它们主要用于控制代码的执行顺序,为异步操作提供必要的等待时间,从而实现更加灵活和高效的程序设计。根据给定的...
"javascript延时重复执行函数 lLoopRun.js" JavaScript 延时重复执行函数 lLoopRun.js ...lLoopRun 函数是一个非常有用的 JavaScript 函数库,可以帮助开发者快速实现各种 JavaScript 开发场景中的延时重复执行功能。
在标准的JavaScript环境中,已经提供了`setTimeout`函数来实现延时功能。然而,自定义延时方法能够提供更多的灵活性和控制能力,比如更直观地传入秒数而非毫秒数进行延时,这在某些情况下可以使代码更加易读和维护。...
然而,在实际项目中,为了遵循DRY(Don't Repeat Yourself)原则,减少重复代码,提高代码可读性和维护性,可以通过扩展JavaScript的`Function`原型对象来添加一个通用的延时执行方法。 #### 延时执行的需求分析 ...
setTimeout,javascript 延时执行函数,闭包处理 利用javascript闭包处理延时操作
以上列举的JavaScript函数涵盖了从用户交互到页面管理、数学运算、字符串操作以及浏览器信息获取等多个方面,是开发网页应用时不可或缺的工具集。掌握这些函数的使用方法,对于提升网页的交互性和功能性具有重要意义...
综上所述,`setTimeout`在JavaScript中是一个非常重要的函数,它不仅可以用来实现简单的延时操作,还能在实际开发中优化性能,减少不必要的计算和网络请求,提升用户体验。通过合理地使用`setTimeout`,可以有效地...
在这个"javascript经典特效---函数计算"的资源中,我们可以深入探讨JavaScript函数在实现各种特效时的重要作用。 1. **函数基础**:在JavaScript中,函数是一组相关语句的集合,可以被命名并多次调用。函数定义了可...
这种特性使得函数能够保留状态,实现私有变量和延时执行等功能。 作用域决定了变量的可见性和生命周期。全局作用域的变量在整个脚本中都是可访问的,而局部作用域的变量仅在其定义的函数内可见。每当函数被调用时,...
在本例中,就涉及到了如何利用JavaScript的setTimeout函数,在Vue.js的上下文中实现代码的延时执行。 首先,setTimeout函数是JavaScript中用于实现延时调用的一个函数,它接受两个参数:第一个参数是一个函数,这个...
在这个例子中,`addEventListener` 方法的第一个参数是事件类型(如 "click"),第二个参数是要执行的函数。 2. 使用匿名函数: ```javascript document.getElementById("myButton").addEventListener("mouseover",...
在JavaScript中,我们可以使用`setTimeout`函数来实现延时执行特定操作,比如延迟显示提示框或者控制其他UI元素的动态效果。在这个实例中,我们将探讨如何创建一个延时显示提示框的特效,这个特效不仅限于警告框,还...
本文实例讲述了javascript 使用sleep函数的常见方法。分享给大家供大家参考,具体如下: 一.什么是sleep函数? 花一点时间来聊一下sleep函数,首先什么是sleep函数? sleep是一种函数,他的作用是使程序暂停指定的...
本文介绍了如何使用JavaScript中的setTimeout函数来实现延时显示提示框特效。这个特效允许开发者设置在一段时间后显示一个提示框,可以应用于用户引导、广告展示等多种场景。 在详细讲解代码前,我们先来理解...
回调函数是jQuery中一个核心概念,对于理解和优化JavaScript代码的执行流程至关重要。本篇文章将深入探讨jQuery中回调函数的原理及其应用。 回调函数本质上是一个在特定事件发生后被调用的函数,它允许我们将业务...
标题中提到的知识点为“JavaScript实现iframe框架延时加载的方法”,说明本文将要讲述的是如何在Web开发中使用JavaScript技术,特别是利用iframe标签来实现内容的延时加载。所谓延时加载,就是指在网页加载过程中,...
`lLoopRun.js` 是一个实用的JavaScript函数库,主要用于实现延时重复执行指定功能的需求。它能够帮助开发者轻松地创建需要周期性执行的任务,同时提供了一个简单的方式来控制任务的执行与停止。 #### 函数定义及...