用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 相关文章推荐
ExtJS 2.0实用简明教程 之获得ExtJS
Apr 29 Javascript
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
Oct 20 Javascript
JS实现点击下载的小例子
Jul 10 Javascript
写JQuery插件的基本知识
Nov 25 Javascript
函数window.open实现关闭所有的子窗口
Aug 03 Javascript
js实现内容显示并使用json传输数据
Mar 16 Javascript
JavaScript String 对象常用方法详解
May 13 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
Jun 01 Javascript
JavaScript实现按键精灵的原理分析
Feb 21 Javascript
vue微信分享 vue实现当前页面分享其他页面
Dec 02 Javascript
Nuxt配合Node在实际生产中的应用详解
Aug 07 Javascript
公众号SVG动画交互实战代码
May 31 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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
laravel入门知识点整理
2020/09/15 PHP
jQuery实现鼠标移到元素上动态提示消息框效果
2013/10/20 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
JavaScript如何借用构造函数继承
2019/11/06 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
从零学Python之引用和类属性的初步理解
2014/05/15 Python
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
win10环境下python3.5安装步骤图文教程
2017/02/03 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
详解Python如何生成词云的方法
2018/06/01 Python
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
python利用tkinter实现屏保
2019/07/30 Python
用python实现学生管理系统
2020/07/24 Python
flask项目集成swagger的方法
2020/12/09 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
金融专业应届生求职信
2013/11/02 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
法人单位授权委托书范文
2014/10/06 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js