用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 相关文章推荐
一个JS翻页效果
Jul 23 Javascript
fancybox1.3.1 基于Jquery的插件在IE中图片显示问题
Oct 01 Javascript
Dom 是什么的详细说明
Oct 25 Javascript
js 使用form表单select类实现级联菜单效果
Dec 19 Javascript
JS定时关闭窗口的实例
May 22 Javascript
jquery easyui滚动条部分设置介绍
Sep 12 Javascript
利用函数的惰性载入提高javascript代码执行效率
May 05 Javascript
Javascript中字符串replace方法的第二个参数探究
Dec 05 Javascript
javascript中UMD规范的代码推演
Aug 29 Javascript
Nuxt.js开启SSR渲染的教程详解
Nov 30 Javascript
JavaScript canvas实现雪花随机动态飘落
Feb 08 Javascript
JavaScript实现字符串与HTML格式相互转换
Mar 17 Javascript
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中检查PHP文件是否有语法错误的方法
2009/12/23 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
php中heredoc与nowdoc介绍
2014/12/25 PHP
Django中的cookie与session操作实例代码
2017/08/17 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
基于jQuery的倒计时插件代码
2011/05/07 Javascript
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
2015/10/10 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
2016/11/28 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python读大数据txt
2016/03/28 Python
深入理解 Python 中的多线程 新手必看
2016/11/20 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
Python目录和文件处理总结详解
2019/09/02 Python
安装pyinstaller遇到的各种问题(小结)
2020/11/20 Python
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
internal修饰符起什么作用
2013/12/16 面试题
中文系学生自荐信范文
2013/11/13 职场文书
医学生自我评价
2014/01/27 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
人民币使用说明书
2019/04/17 职场文书
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers