用Javascript实现Sleep暂停功能代码


Posted in Javascript onSeptember 03, 2010
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
function Sleep(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); 
} 
function GoOn(ind) 
{ 
var obj=window.eventList[ind]; 
window.eventList[ind]=null; 
if (obj.NextStep) obj.NextStep(); 
else obj(); 
} 
function Test() 
{ 
alert("sleep"); 
Sleep(this,10000); 
this.NextStep=function() 
{ 
alert("continue"); 
} 
} 
Test(); 
//--> 
</SCRIPT>

下面是别的网友写的代码
<script language="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 + ")",1000); 
} 
/* 
该函数把要暂停的函数放到数组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,1000);//调用暂停函数 
this.NextStep=function(){ 
alert("NextStep"); 
} 
} 
</script>
Javascript 相关文章推荐
jQuery.getScript加载同域JS的代码
Feb 13 Javascript
jQuery表单域属性过滤器用法分析
Feb 10 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
Aug 10 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
Jan 26 Javascript
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
Jan 28 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
Oct 24 Javascript
jquery中有哪些api jQuery主要API
Nov 20 jQuery
微信小程序实现验证码获取倒计时效果
Feb 08 Javascript
Redux实现组合计数器的示例代码
Jul 04 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
Oct 14 Javascript
详解React路由传参方法汇总记录
Nov 29 Javascript
Vue 3自定义指令开发的相关总结
Jan 29 Vue.js
javascript 仿QQ滑动菜单效果代码
Sep 03 #Javascript
原生javascript实现图片轮播效果代码
Sep 03 #Javascript
IE6不能修改NAME问题的解决方法
Sep 03 #Javascript
extjs grid设置某列背景颜色和字体颜色的方法
Sep 03 #Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 03 #Javascript
Dojo 学习要点
Sep 03 #Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
Sep 03 #Javascript
You might like
Php+SqlServer实现分页显示
2006/10/09 PHP
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
浅析php变量作用域的一些问题
2013/08/08 PHP
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
2006/12/06 Javascript
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
使用js画图之饼图
2015/01/12 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
javascript运动详解
2015/07/06 Javascript
BootStrap3学习笔记(一)之网格系统
2016/05/20 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
2018/01/24 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
tornado捕获和处理404错误的方法
2014/02/26 Python
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
python源文件的字符编码知识点详解
2021/03/04 Python
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
会计与审计专业大专生求职信
2013/10/03 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android