用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事件冒泡传递(cancelBubble 、stopPropagation)
May 08 Javascript
Javascript 写的简单进度条控件
Jan 22 Javascript
让ie运行js时提示允许阻止内容运行的解决方法
Oct 24 Javascript
jquery radio 操作代码
Mar 16 Javascript
使用js判断当前时区TimeZone是否是夏令时
Feb 23 Javascript
angularjs基础教程
Dec 25 Javascript
jquery中ready()函数执行的时机和window的load事件比较
Jun 22 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
Mar 30 Javascript
vue中导出Excel表格的实现代码
Oct 18 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
May 23 Javascript
JS实现滑动拼图验证功能完整示例
Mar 29 Javascript
原生JavaScript实现随机点名表
Jan 14 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学习之整理字符串
2011/04/17 PHP
php文件读取方法实例分析
2015/06/20 PHP
php目录拷贝实现方法
2015/07/10 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
简单的代码实现jquery定时器
2014/01/03 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
每日十条JavaScript经验技巧(二)
2016/06/23 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
JS实现图片手风琴效果
2020/04/17 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
Python实现把回车符\r\n转换成\n
2015/04/23 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
python对象与json相互转换的方法
2019/05/07 Python
python中的错误如何查看
2020/07/08 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
HTML5 canvas基本绘图之绘制线段
2016/06/27 HTML / CSS
美国婴童服装市场上的领先品牌:Carter’s
2018/02/08 全球购物
有模特经验的简历自我评价
2013/09/19 职场文书
酒店执行总经理岗位职责
2013/12/15 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
逃课打麻将检讨书
2014/10/05 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
比较几种Redis集群方案
2021/06/21 Redis
Redis主从复制操作和配置详情
2022/09/23 Redis