用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
Nov 26 Javascript
关于Jquery操作Cookie取值错误的解决方法
Aug 26 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
Nov 08 Javascript
JavaScript动态修改网页元素内容的方法
Mar 21 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
Jan 30 Javascript
Angularjs 设置全局变量的方法总结
Oct 20 Javascript
简单理解Vue条件渲染
Dec 03 Javascript
js css自定义分页效果
Feb 24 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
Aug 22 Javascript
JavaScript常见事件对象与操作实例总结
Jan 05 Javascript
create-react-app中添加less支持的实现
Nov 15 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
Mar 12 jQuery
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
用header 发送cookie的php代码
2007/03/16 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
2010/05/04 Javascript
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
实用又漂亮的BootstrapValidator表单验证插件
2016/05/30 Javascript
js实现随机点名小功能
2017/08/17 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
微信小程序左滑删除功能开发案例详解
2018/11/12 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
jQuery操作cookie的示例代码
2019/06/05 jQuery
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
微信小程序自定义扫码功能界面的实现代码
2020/07/02 Javascript
Django中间件基础用法详解
2019/07/18 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
Python和Bash结合在一起的方法
2020/11/13 Python
html+css实现自定义图片上传按钮功能
2019/09/04 HTML / CSS
全球度假村:Club Med
2017/11/27 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
2014年教师节红领巾广播稿
2014/09/10 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
Nginx反向代理配置的全过程记录
2021/06/22 Servers
一些让Python代码简洁的实用技巧总结
2021/08/23 Python