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 相关文章推荐
使用jquery给input和textarea设定ie中的focus
May 29 Javascript
javascript 简练的几个函数
Aug 29 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
Apr 26 Javascript
javascript二维数组转置实例
Jan 22 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
jQuery通用的全局遍历方法$.each()用法实例
Jul 04 Javascript
window.open不被拦截的简单实现代码(推荐)
Aug 04 Javascript
bootstrap 设置checkbox部分选中效果
Apr 20 Javascript
基于AngularJS的拖拽文件上传的实例代码
Jul 15 Javascript
详解Vue组件实现tips的总结
Nov 01 Javascript
利用JavaScript的%做隔行换色的实例
Nov 25 Javascript
javascript跳转与返回和刷新页面的实例代码
Nov 20 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
PHP的一个基础知识 表单提交
2011/07/04 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
jquery判断元素是否隐藏的多种方法
2014/05/06 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
浅析JavaScript中var that=this
2017/02/17 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
使用python 和 lint 删除项目无用资源的方法
2017/12/20 Python
Python告诉你木马程序的键盘记录原理
2019/02/02 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
python实现翻译word表格小程序
2020/02/27 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
zooplus波兰:在线宠物店
2019/07/21 全球购物
如何写好优秀的创业计划书
2014/01/30 职场文书
成绩单家长评语大全
2014/04/16 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
感恩教育观后感
2015/06/17 职场文书
学生会干部任命书
2015/09/21 职场文书
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS