用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限制文本框只允许输入数字(曾经与现在的方法对比)
Jan 18 Javascript
javascript中的return和闭包函数浅析
Jun 06 Javascript
js设置document.domain实现跨域的注意点分析
May 21 Javascript
js html5 css俄罗斯方块游戏再现
Oct 17 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Dec 15 Javascript
Vue.js学习教程之列表渲染详解
May 17 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
Jun 29 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
Sep 14 Javascript
30分钟快速实现小程序语音识别功能
Nov 27 Javascript
如何使用CSS3和JQuery easing 插件制作绚丽菜单
Jun 18 jQuery
vue如何实现动态加载脚本
Feb 05 Javascript
vue判断按钮是否可以点击
Apr 09 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
提取HTML标签
2006/10/09 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
php实现记事本案例
2020/10/20 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
appendChild() 或 insertBefore()使用与区别介绍
2013/10/11 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
javascript中关于&amp;&amp; 和 || 表达式的小技巧分享
2015/04/10 Javascript
JavaScript浏览器对象之一Window对象详解
2016/06/03 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
关于javascript作用域的常见面试题分享
2017/06/18 Javascript
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python对字典进行排序实例
2014/09/25 Python
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
python同时遍历数组的索引和值的实例
2018/11/15 Python
python简单验证码识别的实现方法
2019/05/10 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
Selenium 安装和简单使用的实现
2020/12/04 Python
HQhair美国/加拿大:英国化妆品、美容及美发产品商城
2019/04/15 全球购物
介绍一下linux的文件系统
2012/03/20 面试题
个人授权委托书样本
2014/09/13 职场文书
班主任先进事迹材料
2014/12/17 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
用人单位的规章制度,怎样制定才是有效的?
2019/07/09 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL