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 相关文章推荐
javascript实现校验文件上传控件实例
Apr 20 Javascript
在Javascript中处理数组之toSource()方法的使用
Jun 09 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
Sep 06 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
Mar 23 Javascript
设置cookie指定时间失效(实例代码)
May 28 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
Aug 07 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
Jan 20 Javascript
vue自定义全局组件(自定义插件)的用法
Jan 30 Javascript
Javascript实现时间倒计时功能
Nov 17 Javascript
layer设置maxWidth及maxHeight解决方案
Jul 26 Javascript
一篇文章弄清楚Ajax请求的五个步骤
Mar 17 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中神奇的fastcgi_finish_request
2011/05/02 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
JavaScript中判断对象类型的几种方法总结
2013/11/11 Javascript
JS 新增Cookie 取cookie值 删除cookie 举例详解
2014/10/10 Javascript
jQuery中大家不太了解的几个方法
2015/03/04 Javascript
jQuery插件windowScroll实现单屏滚动特效
2015/07/14 Javascript
Jquery easyui 实现动态树
2015/11/17 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
js is_valid_filename验证文件名的函数
2017/07/19 Javascript
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
python sort、sort_index方法代码实例
2019/03/28 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
简单的命令查看安装的python版本号
2020/08/28 Python
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
视图的作用
2014/12/19 面试题
教育科学研究生自荐信
2013/10/09 职场文书
毕业生多媒体设计求职信
2013/10/12 职场文书
中专毕业自我鉴定
2013/10/16 职场文书
总经理秘书的岗位职责
2013/12/27 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
机电专业求职信
2014/06/14 职场文书
处级领导干部四风问题自我剖析材料
2014/09/29 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
公司会议开幕词
2015/01/29 职场文书
2015年三万活动总结
2015/03/25 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
实施意见格式范本
2015/06/05 职场文书