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 相关文章推荐
向大师们学习Javascript(视频与PPT)
Dec 27 Javascript
Javascript学习笔记9 prototype封装继承
Jan 11 Javascript
javascript setTimeout()传递函数参数(包括传递对象参数)
Apr 07 Javascript
关闭页面window.location事件未执行的原因及解决方法
Sep 01 Javascript
javascript实现延时显示提示框特效代码
Apr 27 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
Sep 21 Javascript
在 webpack 中使用 ECharts的实例详解
Feb 05 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
Aug 10 Javascript
JavaScript实现连连看连线算法
Jan 05 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
9种方法优化jQuery代码详解
Feb 04 jQuery
WebWorker 封装 JavaScript 沙箱详情
Nov 02 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
thinkphp如何获取客户端IP
2015/11/03 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
php微信开发之百度天气预报
2016/11/18 PHP
JavaScript入门之基本函数详解
2011/10/21 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
JavaScript实现4位随机验证码的生成
2021/01/28 Javascript
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Python 中的pygame安装与配置教程详解
2020/02/10 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
Python sublime安装及配置过程详解
2020/06/29 Python
python super()函数的基本使用
2020/09/10 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
食堂员工工作职责
2013/12/18 职场文书
恐龙的灭绝教学反思
2014/02/12 职场文书
假面舞会策划方案
2014/05/29 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
假释思想汇报范文
2014/10/11 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
2016机关干部作风建设心得体会
2016/01/21 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
Win11 KB5015814遇安装失败 影响开始菜单性能解决方法
2022/07/15 数码科技