用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学习笔记7 原型链的原理
Jan 11 Javascript
理解Javascript_10_对象模型
Oct 16 Javascript
js中巧用cssText属性批量操作样式
Mar 13 Javascript
一篇文章掌握RequireJS常用知识
Jan 26 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
Jun 28 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
Oct 31 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
Jan 06 Javascript
jquery实现静态搜索功能(可输入搜索文字)
Mar 28 jQuery
vue-cli单页应用改成多页应用配置详解
Jul 14 Javascript
JavaScript模板引擎原理与用法详解
Dec 24 Javascript
vue-autoui自匹配webapi的UI控件的实现
Mar 20 Javascript
vue在线动态切换主题色方案
Mar 26 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
php5新改动之短标记启用方法
2008/09/11 PHP
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
PHP 网页过期时间的控制代码
2009/06/29 PHP
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
PHP人民币金额转大写实例代码
2015/10/02 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
php bootstrap实现简单登录
2016/03/08 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
详解Nuxt.js Vue服务端渲染摸索
2018/02/08 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
vuex 的简单使用
2018/03/22 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
使用Python来开发微信功能
2018/06/13 Python
python 使用shutil复制图片的例子
2019/12/13 Python
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
地道战观后感2000字
2015/06/04 职场文书
黄埔军校观后感
2015/06/10 职场文书
请病假条范文
2015/08/17 职场文书
公司董事任命书
2015/09/21 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android
美元符号 $
2022/02/17 杂记
vue+echarts实现多条折线图
2022/03/21 Vue.js
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技