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实现轮显新闻标题链接
Aug 13 Javascript
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
Aug 28 Javascript
Extjs4中Form的使用之本地hiddenfield
Nov 26 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
Jan 26 Javascript
推荐一个自己用的封装好的javascript插件
Jan 29 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
JavaScript的React框架中的JSX语法学习入门教程
Mar 05 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
Nov 16 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
Jan 08 Javascript
微信小程序 图片加载(本地,网路)实例详解
Mar 10 Javascript
微信小程序实现渐入渐出动画效果
Jun 13 Javascript
Ant design vue中的联动选择取消操作
Oct 31 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调用Java对象的方法
2006/10/09 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
Javascript valueOf 使用方法
2008/12/28 Javascript
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
Python基础语言学习笔记总结(精华)
2017/11/14 Python
Falsk 与 Django 过滤器的使用与区别详解
2019/06/04 Python
python IDLE添加行号显示教程
2020/04/25 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
使用django自带的user做外键的方法
2020/11/30 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
2020/08/24 HTML / CSS
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
Stella McCartney官网:成衣、包袋、香水、内衣、童装及Adidas系列
2018/12/20 全球购物
用C语言实现文件读写操作
2013/10/27 面试题
项目管理计划书
2014/01/09 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
Python中常见的导入方式总结
2021/05/06 Python
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python
Mysql关于数据库是否应该使用外键约束详解说明
2021/10/24 MySQL