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插件 tabBox实现代码
Feb 09 Javascript
jQuery 添加/移除CSS类实现代码
Feb 11 Javascript
javascript中最常用的继承模式 组合继承
Aug 12 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
Oct 18 Javascript
原生JavaScript生成GUID的实现示例
Sep 05 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
Jun 18 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
Oct 23 Javascript
如何实现JavaScript动态加载CSS和JS文件
Dec 28 Javascript
原生js实现仿window10系统日历效果的实例
Oct 31 Javascript
vue element项目引入icon图标的方法
Jun 06 Javascript
使用Bootstrap做一个朝代历史表
Dec 10 Javascript
jQuery 移除事件的方法
Jun 20 jQuery
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
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
jQuery学习笔记之Helloworld
2010/12/22 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
bootstrap weebox 支持ajax的模态弹出框
2017/02/23 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
聊聊鉴权那些事(推荐)
2019/08/22 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
JS实现百度搜索框
2021/02/25 Javascript
Python 私有函数的实例详解
2017/09/11 Python
分析经典Python开发工程师面试题
2019/04/08 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
Python中print和return的作用及区别解析
2019/05/05 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
基于python图像处理API的使用示例
2020/04/03 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
python如何修改文件时间属性
2021/02/05 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
html5使用canvas画空心圆与实心圆
2014/12/15 HTML / CSS
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
好的自荐信的要求
2013/10/30 职场文书
餐厅总经理岗位职责
2013/12/31 职场文书
新学期开学标语
2014/06/30 职场文书
普通党员对照检查材料
2014/09/24 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
党校党性分析材料
2014/12/19 职场文书
Python标准库之typing的用法(类型标注)
2021/06/02 Python