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操作Select选择的Text和Value(获取/设置/添加/删除)
Mar 06 Javascript
jsp网页搜索结果中实现选中一行使其高亮
Feb 17 Javascript
javascript数组操作方法小结和3个属性详细介绍
Jul 05 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
Mar 17 Javascript
js实现每日自动换一张图片的方法
May 04 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
Mar 15 Javascript
基于node.js制作简单爬虫教程
Jun 29 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
Jul 13 Javascript
微信小程序 上传头像的实例详解
Oct 27 Javascript
mint-ui 时间插件使用及获取选择值的方法
Feb 09 Javascript
详解Vue2.0组件的继承与扩展
Nov 23 Javascript
js canvas实现画图、滤镜效果
Nov 27 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
espresso double下 咖啡粉超细时 饼压力对咖啡的影响
2021/03/03 冲泡冲煮
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
jquery multiSelect 多选下拉框
2010/07/09 Javascript
jQuery 选择器详解
2015/01/19 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
2015/03/05 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
2016/12/26 Javascript
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
简单了解JavaScript sort方法
2019/11/25 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
[51:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
windows下Virtualenvwrapper安装教程
2017/12/13 Python
Python 查看文件的编码格式方法
2017/12/21 Python
Python程序运行原理图文解析
2018/02/10 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
python脚本后台执行方式
2019/12/21 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
html5 canvas绘制网络字体的常用方法
2019/08/26 HTML / CSS
安踏官方商城:anta.cn
2019/12/16 全球购物
业务经理岗位职责
2013/11/11 职场文书
行政文秘岗位职责范本
2014/02/10 职场文书
班级文化建设标语
2014/06/23 职场文书
植树造林的宣传标语
2014/06/23 职场文书
2015年置业顾问工作总结
2015/04/07 职场文书
劳动模范获奖感言
2015/07/31 职场文书