用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 相关文章推荐
通过判断JavaScript的版本实现执行不同的代码
May 11 Javascript
Ajax提交与传统表单提交的区别说明
Feb 07 Javascript
jquery得到iframe src属性值的方法
Sep 25 Javascript
jQuery实现HTML表格单元格的合并功能
Apr 06 Javascript
jQuery自制提示框tooltip改进版
Aug 01 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
Oct 24 Javascript
vue组件实例解析
Jan 10 Javascript
AngularJS实现的输入框字数限制提醒功能示例
Oct 26 Javascript
微信小程序将字符串生成二维码图片的操作方法
Jul 17 Javascript
VUE路由动态加载实例代码讲解
Aug 26 Javascript
使用Vue调取接口,并渲染数据的示例代码
Oct 28 Javascript
vue项目中微信登录的实现操作
Sep 08 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
URL Rewrite的设置方法
2007/01/02 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
[02:54]辉夜杯主赛事第二日败者组 iG.V赛后采访
2015/12/26 DOTA
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
python代码制作configure文件示例
2014/07/28 Python
Python set集合类型操作总结
2014/11/07 Python
详解python中的线程
2018/02/10 Python
Numpy的简单用法小结
2019/08/28 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
python实现感知机模型的示例
2020/09/30 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
META-INF文件夹中的MANIFEST.MF的作用
2016/06/21 面试题
大学生新闻专业个人自我评价
2013/11/12 职场文书
教师新年寄语
2014/04/03 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书
解决ObjectMapper.convertValue() 遇到的一些问题
2021/06/30 Java/Android