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 相关文章推荐
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
jquery 表格排序、实时搜索表格内容(附图)
May 19 Javascript
javascript制作坦克大战全纪录(2)
Nov 27 Javascript
javascript字符串循环匹配实例分析
Jul 17 Javascript
JavaScript与ActionScript3两者的同性与差异性
Sep 22 Javascript
JavaScript九九乘法口诀表的简单实现
Oct 04 Javascript
推荐10款扩展Web表单的JS插件
Dec 25 Javascript
jquery实现楼层滚动效果
Jan 01 jQuery
Vue项目部署在Spring Boot出现页面空白问题的解决方案
Nov 26 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
Mar 15 Javascript
微信小程序与公众号卡券/会员打通的问题
Jul 25 Javascript
Element Card 卡片的具体使用
Jul 26 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
php 时间计算问题小结
2009/01/04 PHP
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
关于js与php互相传值的介绍
2013/06/25 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
在 Laravel 项目中使用 webpack-encore的方法
2019/07/21 PHP
基于jquery的tab切换 js原理
2010/04/01 Javascript
基于jquery的表格排序
2010/09/11 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
JS高级运动实例分析
2016/12/20 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
JS实现li标签的删除
2019/04/12 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
Python 3.8 新功能全解
2019/07/25 Python
python  logging日志打印过程解析
2019/10/22 Python
python matplotlib饼状图参数及用法解析
2019/11/04 Python
Python hashlib模块加密过程解析
2019/11/05 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
python支持多线程的爬虫实例
2019/12/21 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
python和php哪个更适合写爬虫
2020/06/22 Python
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
Java里面有没有全局变量?为什么?
2015/02/06 面试题
英语师范专业毕业生自荐信
2013/09/21 职场文书
事业单位辞职信范文
2014/01/19 职场文书
经营场所使用证明
2015/06/19 职场文书