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的构造函数和constructor属性
Jan 09 Javascript
jquery $(&quot;#variable&quot;) 循环改变variable的值示例
Feb 23 Javascript
JavaScript中的函数嵌套使用
Jun 04 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
May 04 Javascript
JavaScript手机振动API
Jun 11 Javascript
jquery对象与DOM对象转化
Feb 08 Javascript
jQuery实现给input绑定回车事件的方法
Feb 09 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
Jun 19 Javascript
JS实现按钮颜色切换效果
Sep 05 Javascript
Spring Boot/VUE中路由传递参数的实现代码
Mar 02 Javascript
微信小程序实现留言板
Oct 31 Javascript
vue读取本地的excel文件并显示在网页上方法示例
May 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
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
vue2实现数据请求显示loading图
2017/11/28 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
Js利用正则表达式去除字符串的中括号
2020/11/23 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
Vue仿Bibibili首页的问题
2021/01/21 Vue.js
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
Python Pandas对缺失值的处理方法
2019/09/27 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
Python爬取梨视频的示例
2021/01/29 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
CSS3实现时间轴效果
2016/07/11 HTML / CSS
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
毕业生求职推荐信
2013/11/04 职场文书
水污染治理专业毕业生推荐信
2013/11/14 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
争先创优活动总结
2014/08/27 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
2016公司新年问候语
2015/11/11 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
Golang 链表的学习和使用
2022/04/19 Golang