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 getElementsByName()的用法说明
Jul 31 Javascript
超轻量级的基于jquery的三级展开列表
Apr 26 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
Jul 15 Javascript
javascript下使用Promise封装FileReader
Feb 19 Javascript
BootStrap智能表单实战系列(七)验证的支持
Jun 13 Javascript
bootstrap Table的一些小操作
Nov 01 Javascript
Angular项目从新建、打包到nginx部署全过程记录
Dec 09 Javascript
vue 设置proxyTable参数进行代理跨域
Apr 09 Javascript
vue中格式化时间过滤器代码实例
Apr 17 Javascript
npx create-react-app xxx创建项目报错的解决办法
Feb 17 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
May 10 Javascript
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
Apr 09 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
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
php递归实现无限分类的方法
2015/07/28 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
PHP数组array类常见操作示例
2020/05/15 PHP
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
Vuex实现购物车小功能
2020/08/17 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
Python制作爬虫抓取美女图
2016/01/20 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
python截取两个单词之间的内容方法
2018/12/25 Python
深入了解Python在HDA中的应用
2019/09/05 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
python中rc1什么意思
2020/06/19 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
入伍通知书
2015/04/23 职场文书
运动会班级前导词
2015/07/20 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书