Javascript中暂停功能的实现代码


Posted in Javascript onMarch 04, 2007
<script language="javascript"> 
/*Javascript中暂停功能的实现 
Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能。 
javascript作为弱对象语言,一个函数也可以作为一个对象使用。 
比如: 
function Test(){ 
 alert("hellow"); 
 this.NextStep=function(){ 
  alert("NextStep"); 
 } 
} 
我们可以这样调用 var myTest=new Test();myTest.NextStep(); 我们做暂停的时候可以吧一个函数分为两部分,暂停操作前的不变,把要在暂停后执行的代码放在this.NextStep中。 
为了控制暂停和继续,我们需要编写两个函数来分别实现暂停和继续功能。 
暂停函数如下: 
*/ 
function Pause(obj,iMinSecond){ 
 if (window.eventList==null) window.eventList=new Array(); 
 var ind=-1; 
 for (var i=0;i<window.eventList.length;i++){ 
  if (window.eventList[i]==null) { 
   window.eventList[i]=obj; 
   ind=i; 
   break; 
  } 
 } 
 if (ind==-1){ 
  ind=window.eventList.length; 
  window.eventList[ind]=obj; 
 } 
 setTimeout("GoOn(" + ind + ")",1000); 
} 
/* 
该函数把要暂停的函数放到数组window.eventList里,同时通过setTimeout来调用继续函数。 
继续函数如下: 
*/ 
function GoOn(ind){ 
 var obj=window.eventList[ind]; 
 window.eventList[ind]=null; 
 if (obj.NextStep) obj.NextStep(); 
 else obj(); 
} 
/* 
该函数调用被暂停的函数的NextStep方法,如果没有这个方法则重新调用该函数。 

函数编写完毕,我们可以作如下册是: 
*/ 
function Test(){ 
 alert("hellow"); 
 Pause(this,1000);//调用暂停函数 
 this.NextStep=function(){ 
  alert("NextStep"); 
 } 
} 
</script>
Javascript 相关文章推荐
基于jquery的让textarea自适应高度的插件
Aug 03 Javascript
jQuery创建插件的代码分析
Apr 14 Javascript
jQuery-Tools-overlay 使用介绍
Jul 14 Javascript
使用jquery.qrcode.js生成二维码插件
Oct 17 Javascript
Node.js pipe实现源码解析
Aug 12 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
Sep 19 jQuery
浅谈Vue SSR 的 Cookies 问题
Nov 20 Javascript
JS事件绑定的常用方式实例总结
Mar 02 Javascript
如何在JavaScript中谨慎使用代码注释
Jun 21 Javascript
js设置鼠标悬停改变背景色实现详解
Jun 26 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
Nov 04 Javascript
javascript实现左右缓动动画函数
Nov 25 Javascript
参考:关于Javascript中实现暂停的几篇文章
Mar 04 #Javascript
插件:检测javascript的内存泄漏
Mar 04 #Javascript
一个不错的应用,用于提交获取文章内容,不推荐用
Mar 03 #Javascript
求得div 下 img的src地址的js代码
Feb 28 #Javascript
求解开jscript.encode代码的asp函数
Feb 28 #Javascript
用正则获取指定路径文件的名称
Feb 27 #Javascript
setTimeout和setInterval的浏览器兼容性分析
Feb 27 #Javascript
You might like
地摊中国 - 珍藏老照片
2020/08/18 杂记
Laravel中任务调度console使用方法小结
2017/05/07 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
代码获取历史上的今天发生的事
2014/04/11 Javascript
javascript中通过arguments参数伪装方法重载
2014/10/08 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
用AngularJS来实现监察表单按钮的禁用效果
2016/11/02 Javascript
给easyui的datebox控件添加清空按钮的实现方法
2016/11/09 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
Node层模拟实现multipart表单的文件上传示例
2018/01/02 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
python字符串过滤性能比较5种方法
2017/06/22 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
初中作文评语集锦
2014/12/25 职场文书
小王子读书笔记
2015/06/29 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
SQL注入的实现以及防范示例详解
2021/06/02 MySQL
在js中修改html body的样式
2021/11/11 Javascript
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP