JS实现程序暂停与继续功能代码解读


Posted in Javascript onOctober 10, 2013

下面代码用JS实现了程序的暂停与继续

<script type="text/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 + ")",iMinSecond); 
} 
/* 
该函数把要暂停的函数放到数组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,3000);//调用暂停函数 

this.NextStep=function(){ 
alert("NextStep"); 
} 
} 
</script>
Javascript 相关文章推荐
javascript的对话框详解与参数
Mar 08 Javascript
JQuery 学习笔记 选择器之二
Jul 23 Javascript
jQuery JSON的解析方式分享
Apr 05 Javascript
判断一个变量是数组Array类型的方法
Sep 16 Javascript
jquery模拟实现鼠标指针停止运动事件
Jan 12 Javascript
通用无限极下拉菜单的实现代码
May 31 Javascript
jQuery简单实现中间浮窗效果
Sep 04 Javascript
jQuery基于cookie实现换肤功能实例
Oct 14 jQuery
Vue中的基础过渡动画及实现原理解析
Dec 04 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
Dec 09 Javascript
微信小程序 冒泡事件原理解析
Sep 27 Javascript
ES6新增的数组知识实例小结
May 23 Javascript
js切换光标示例代码
Oct 10 #Javascript
jquery获取div距离窗口和父级dv的距离示例
Oct 10 #Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
Oct 09 #Javascript
JavaScript动态创建div属性和样式示例代码
Oct 09 #Javascript
javascript中的document.open()方法使用介绍
Oct 09 #Javascript
js控制页面控件隐藏显示的两种方法介绍
Oct 09 #Javascript
js onload事件不起作用示例分析
Oct 09 #Javascript
You might like
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
基于Snoopy的PHP近似完美获取网站编码的代码
2011/10/23 PHP
getAsDataURL在Firefox7.0下无法预览本地图片的解决方法
2013/11/15 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
js闭包的用途详解
2014/11/09 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
js数组去重的N种方法(小结)
2018/06/07 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
2019/04/17 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
2020/10/30 Javascript
python正则分组的应用
2013/11/10 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
2017/09/08 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
django初始化数据库的实例
2018/05/27 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
python并发编程 Process对象的其他属性方法join方法详解
2019/08/20 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
2020/03/24 Python
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
交通专业个人自荐信格式
2013/09/23 职场文书
党员公开承诺书
2014/03/25 职场文书
保护环境倡议书范文
2014/05/13 职场文书
高二学年自我鉴定范文(2篇)
2014/09/26 职场文书
搞笑婚前保证书
2015/02/28 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
关于python类SortedList详解
2021/09/04 Python
Java 超详细讲解IO操作字节流与字符流
2022/03/25 Java/Android