Javascript中暂停功能的实现代码


Posted in Javascript onMarch 04, 2007
<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之去除s.gif的影响
Dec 25 Javascript
JS模块与命名空间的介绍
Mar 22 Javascript
javascript/jquery获取地址栏url参数的方法
Mar 05 Javascript
使用JavaScript实现连续滚动字幕效果的方法
Jul 07 Javascript
探讨AngularJs中ui.route的简单应用
Nov 16 Javascript
浅谈javascript中的事件冒泡和事件捕获
Dec 28 Javascript
ajax的分页查询示例(不刷新页面)
Jan 11 Javascript
JavaScript模块化之使用requireJS按需加载
Apr 12 Javascript
Vue2 模板template的四种写法总结
Feb 23 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
Oct 18 Javascript
TypeScript类型声明书写详解
Aug 28 Javascript
JS随机密码生成算法
Sep 23 Javascript
参考:关于Javascript中实现暂停的几篇文章
Mar 04 #Javascript
插件:检测javascript的内存泄漏
Mar 04 #Javascript
一个不错的应用,用于提交获取文章内容,不推荐用
Mar 03 #Javascript
求得div 下 img的src地址的js代码
Feb 28 #Javascript
求解开jscript.encode代码的asp函数
Feb 28 #Javascript
用正则获取指定路径文件的名称
Feb 27 #Javascript
setTimeout和setInterval的浏览器兼容性分析
Feb 27 #Javascript
You might like
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
php下连接mssql2005的代码
2011/01/17 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
js验证身份证号有效性并提示对应信息
2015/10/19 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
微信小程序实现弹框效果
2020/05/26 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
design vue 表格开启列排序的操作
2020/10/28 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
详解Python中的序列化与反序列化的使用
2015/06/30 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
基于python实现地址和经纬度转换
2020/05/19 Python
区分python中的进程与线程
2020/08/13 Python
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
农贸市场管理制度
2014/01/31 职场文书
音乐专业自荐信
2014/02/07 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
详解python网络进程
2021/06/15 Python
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技
vue router 动态路由清除方式
2022/05/25 Vue.js
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers