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 相关文章推荐
基于jQuery的简单九宫格实现代码
Aug 09 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
Dec 23 Javascript
在Firefox下js select标签点击无法弹出
Mar 06 Javascript
基于Node.js实现nodemailer邮件发送
Jan 26 Javascript
JavaScript验证知识整理
Mar 24 Javascript
Node学习记录之cluster模块
May 31 Javascript
AngularJs实现聊天列表实时刷新功能
Jun 15 Javascript
js 计算图片内点个数的示例代码
Apr 04 Javascript
微信小程序封装的HTTP请求示例【附升级版】
May 11 Javascript
Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法
Sep 03 Javascript
react+antd 递归实现树状目录操作
Nov 02 Javascript
详解vue中使用transition和animation的实例代码
Dec 12 Vue.js
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面向对象概念
2011/11/06 PHP
codeigniter发送邮件并打印调试信息的方法
2015/03/21 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
jQuery实现仿百度帖吧头部固定导航效果
2015/08/07 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
jquery拖拽效果完整实例(附demo源码下载)
2016/01/14 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python去掉字符串中重复字符的方法
2014/02/27 Python
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
Scrapy爬虫实例讲解_校花网
2017/10/23 Python
Python实现句子翻译功能
2017/11/14 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
建筑自我鉴定
2013/10/19 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
网络营销策划方案
2014/06/04 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL
mysql 生成连续日期及变量赋值
2022/03/20 MySQL