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代码
Dec 15 Javascript
jQuery温习篇 强大的JQuery选择器
Apr 24 Javascript
基于jQuery的360图片展示实现代码
Jun 14 Javascript
使用JS CSS去除IE链接虚线框的三种方法
Nov 14 Javascript
bootstrap实现弹窗和拖动效果
Jan 03 Javascript
jQuery操作cookie
Aug 08 Javascript
详解前端自动化工具gulp自动添加版本号
Dec 20 Javascript
HTML5 js实现拖拉上传文件功能
Nov 20 Javascript
仿京东快报向上滚动的实例
Dec 13 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
Sep 18 Javascript
js+html实现周岁年龄计算器
Jun 25 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
Apr 10 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中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
vue实现购物车的监听
2020/04/20 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
对Python发送带header的http请求方法详解
2019/01/02 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
2021/02/24 HTML / CSS
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
MSC邮轮官方网站:加勒比海、地中海和世界各地的假期
2018/08/27 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
移动通信专业自荐信范文
2013/11/12 职场文书
淘宝好评语大全
2014/05/05 职场文书
国庆促销活动总结
2014/08/29 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
爱护环境建议书
2015/09/14 职场文书