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 相关文章推荐
JS对象转换为Jquery对象实现代码
Dec 29 Javascript
解决jquery中美元符号命名冲突问题
Jan 08 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
Oct 20 Javascript
jQuery中offsetParent()方法用法实例
Jan 19 Javascript
通过jquery实现页面的动画效果(实例代码)
Sep 18 Javascript
Javascript中内建函数reduce的应用详解
Oct 20 Javascript
AngularJs入门教程之环境搭建+创建应用示例
Nov 01 Javascript
从零学习node.js之文件操作(三)
Feb 21 Javascript
深入对Vue.js $watch方法的理解
Mar 20 Javascript
socket.io学习教程之深入学习篇(三)
Apr 29 Javascript
详解extract-text-webpack-plugin 的使用及安装
Jun 12 Javascript
layui实现数据分页功能
Jul 27 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
DOTA2【瓜皮时刻】Vol.91 RTZ山史最惨“矿难”
2021/03/05 DOTA
文件上传类
2006/10/09 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
jQueryUI如何自定义组件实现代码
2010/11/14 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
GRID拖拽行的实例代码
2013/07/18 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
Vue 页面跳转不用router-link的实现代码
2018/04/12 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
Python SQLite3数据库操作类分享
2014/06/10 Python
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
python通过smpt发送邮件的方法
2015/04/30 Python
Python lambda表达式用法实例分析
2018/12/25 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
国际贸易专业个人求职信格式
2014/02/02 职场文书
七一党日活动总结
2014/07/08 职场文书
读群众路线的心得体会
2014/09/03 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
《法国号》教学反思
2016/02/22 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python
Python异常类型以及处理方法汇总
2021/06/05 Python
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript