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 相关文章推荐
超级兔子让浮动层消失的前因后果
Mar 09 Javascript
基于Jquery的表格隔行换色,移动换色,点击换色插件
Dec 22 Javascript
js change,propertychange,input事件小议
Dec 20 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
Jun 19 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
jquery拖拽效果完整实例(附demo源码下载)
Jan 14 Javascript
AngularJS入门教程之ng-checked 指令详解
Aug 01 Javascript
JS实现倒计时(天数、时、分、秒)
Nov 16 Javascript
vue loadmore 组件滑动加载更多源码解析
Jul 19 Javascript
Vue波纹按钮组件制作
Apr 30 Javascript
浅谈JavaScript中this的指向更改
Jul 28 Javascript
JavaScript事件委托实现原理及优点进行
Aug 29 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
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
jquery实现图片切换代码
2016/10/13 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
微信小程序实现提交input信息到后台的方法示例
2019/01/19 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
用Python编写一个国际象棋AI程序
2014/11/28 Python
Python读取键盘输入的2种方法
2015/06/16 Python
分分钟入门python语言
2018/03/20 Python
python中的协程深入理解
2019/06/10 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
Django中的静态文件管理过程解析
2019/08/01 Python
python匿名函数的使用方法解析
2019/10/10 Python
Django实现简单的分页功能
2021/02/22 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
上班早退检讨书
2014/01/09 职场文书
大学军训通讯稿
2014/01/13 职场文书
九年级历史教学反思
2014/01/27 职场文书
应届生求职信范文
2014/06/30 职场文书
个人作风建设心得体会
2014/10/22 职场文书
离职信范文
2015/06/23 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android