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 相关文章推荐
javascript变量作用域使用中常见错误总结
Mar 26 Javascript
javascript完美拖拽的实现方法
Sep 29 Javascript
easyui datagrid 键盘上下控制选中行示例
Mar 31 Javascript
JSON字符串转JSON对象
Jul 31 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
Nov 09 Javascript
深入理解Java线程编程中的阻塞队列容器
Dec 07 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
Dec 11 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
Feb 04 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 Javascript
layui实现三级导航菜单
Jul 26 Javascript
Vue Router 实现动态路由和常见问题及解决方法
Mar 06 Javascript
Openlayers+EasyUI Tree动态实现图层控制
Sep 28 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中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
浅析PHP微信支付通知的处理方式
2014/05/25 PHP
YII实现分页的方法
2014/07/09 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
php给数组赋值的实例方法
2019/09/26 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
使用forever管理nodejs应用教程
2014/06/03 NodeJs
AngularJS语法详解(续)
2015/01/23 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
用javascript实现倒计时效果
2021/02/09 Javascript
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
python开发之list操作实例分析
2016/02/22 Python
对pandas中to_dict的用法详解
2018/06/05 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
HTML5 Web Database 数据库的SQL语句的使用方法
2012/12/09 HTML / CSS
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
医校毕业生自我鉴定
2014/01/25 职场文书
技术合作协议书范本
2014/04/18 职场文书
毕业生应聘求职信
2014/07/10 职场文书
员工福利申请报告
2015/05/15 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL