javascript如何实现暂停功能


Posted in Javascript onNovember 06, 2015

本文实例讲述了JS实现的自定义网页拖动类。分享给大家供大家参考,具体如下:
Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能。
javascript作为弱对象语言,一个函数也可以作为一个对象使用。
比如:

function Test(){ 

 alert("hellow"); 

 this.NextStep=function(){ 

 alert("NextStep"); 

 } 

}

我们可以这样调用 var myTest=new Test();myTest.NextStep(); 
我们做暂停的时候可以吧一个函数分为两部分,暂停操作前的不变,把要在暂停后执行的代码放在this.NextStep中。
为了控制暂停和继续,我们需要编写两个函数来分别实现暂停和继续功能。
暂停函数如下:   

<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); 

} 

/* 

该函数把要暂停的函数放到数组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"); 

 sleep(this,3000);//调用暂停函数 

 this.NextStep=function(){ 

 alert("NextStep"); 

 } 

} 
Test(); 

</script>

 希望本文对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript 触发事件列表 比较不错
Sep 03 Javascript
Jquery Validation插件防止重复提交表单的解决方法
Mar 05 Javascript
JavaScript Perfection kill 测试及答案
Mar 23 Javascript
利用JavaScript检测CPU使用率自己写的
Mar 22 Javascript
jquery及js实现动态加载js文件的方法
Jan 21 Javascript
基于javascript实现简单的抽奖系统
Apr 15 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
Jun 01 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
Aug 25 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
Aug 04 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
Dec 03 Javascript
Vue切换div显示隐藏,多选,单选代码解析
Jul 14 Javascript
vue使用video插件vue-video-player的示例
Oct 03 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
Nov 06 #Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
Nov 06 #Javascript
JS实现的自定义网页拖动类
Nov 06 #Javascript
js基础知识(公有方法、私有方法、特权方法)
Nov 06 #Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
Nov 06 #Javascript
javascript中的altKey 和 Event属性大全
Nov 06 #Javascript
JS日期加减,日期运算代码
Nov 05 #Javascript
You might like
简单易用的计数器(数据库)
2006/10/09 PHP
PHP 中检查或过滤IP地址的实现代码
2011/11/27 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
2012/10/03 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
通过修改referer下载文件的方法
2008/05/11 Javascript
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
2017/08/18 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
python 爬取疫情数据的源码
2020/02/09 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
审计主管岗位职责
2014/01/31 职场文书
小学节能减排倡议书
2014/05/15 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书
母亲去世追悼词
2015/06/23 职场文书
党员学习型组织心得体会
2019/06/21 职场文书
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
nginx 配置缓存
2022/05/11 Servers