用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 实现 秒杀,团购 倒计时展示的记录 分享
Jul 12 Javascript
javascript去掉前后空格的实例
Nov 07 Javascript
javascript常用的方法分享
Jul 01 Javascript
JavaScript动态改变div属性的实现方法
Jul 22 Javascript
angular分页指令操作
Jan 09 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
Sep 16 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
Oct 23 Javascript
了解JavaScript函数中的默认参数
May 30 Javascript
JS实现星星海特效
Dec 24 Javascript
js实现从右往左匀速显示图片(无缝轮播)
Jun 29 Javascript
解决vue的router组件component在import时不能使用变量问题
Jul 26 Javascript
如何编写一个 Webpack Loader的实现
Oct 18 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
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
jquery 事件对象属性小结
2010/04/27 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
详解Javascript 中的 class、构造函数、工厂函数
2017/12/20 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
用python删除java文件头上版权信息的方法
2014/07/31 Python
Python实现单词拼写检查
2015/04/25 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
党的群众路线对照检查材料范文
2014/09/24 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
介绍信如何写
2015/01/31 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
python 模拟在天空中放风筝的示例代码
2021/04/21 Python
浅析NIO系列之TCP
2021/06/15 Java/Android
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js