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源码分析-02正则表达式 RegExp 常用正则表达式
Nov 14 Javascript
用Javascript获取页面元素的具体位置
Dec 09 Javascript
JS实现样式清新的横排下拉菜单效果
Oct 09 Javascript
DWR3 访问WEB元素的两种方法实例详解
Jan 03 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
利用javascript如何随机生成一定位数的密码
Sep 22 Javascript
老生常谈JavaScript面向对象基础与this指向问题
Oct 16 Javascript
关于jquery layui弹出层的使用方法
Apr 21 jQuery
小程序封装wx.request请求并创建接口管理文件的实现
Apr 29 Javascript
对vue中的事件穿透与禁止穿透实例详解
Oct 28 Javascript
vue的三种图片引入方式代码实例
Nov 19 Javascript
angular异步验证防抖踩坑实录
Dec 01 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 字符串操作入门教程
2006/12/06 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
Laravel框架基于ajax实现二级联动功能示例
2019/01/17 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
JSON格式化输出
2014/11/10 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
Node.js实现发送邮件功能
2017/11/06 Javascript
js捆绑TypeScript声明文件的方法教程
2018/04/13 Javascript
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
如何获取vue单文件自身源码路径
2019/05/06 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
python3.7调试的实例方法
2020/07/21 Python
python爬取微博评论的实例讲解
2021/01/15 Python
使用CSS3美化HTML表单的技巧演示
2016/05/17 HTML / CSS
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
求职信名称怎么写
2014/05/26 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript