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 相关文章推荐
学习ExtJS(二) Button常用方法
Oct 07 Javascript
使用Firebug对js进行断点调试的图文方法
Apr 02 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
Feb 02 Javascript
node.js中的fs.ftruncate方法使用说明
Dec 15 Javascript
JavaScript匿名函数用法分析
Feb 13 Javascript
AngularJS中的过滤器filter用法完全解析
Apr 22 Javascript
JS实现n秒后自动跳转的两种方法
Nov 30 Javascript
用JS实现简单的登录验证功能
Jul 28 Javascript
详解AngularJS跨页面传值(ui-router)
Aug 23 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
Jun 11 Javascript
vue实现Excel文件的上传与下载功能的两种方式
Jun 28 Javascript
js实现拾色器插件(ColorPicker)
May 21 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图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
js 数值项目的格式化函数代码
2010/05/14 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
修复IE9&amp;safari 的sort方法
2011/10/21 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
2014/03/18 Javascript
JavaScript生成随机字符串的方法
2015/03/19 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
基于Vuejs的搜索匹配功能实现方法
2018/03/03 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
[02:23]DOTA2英雄基础教程 幻影长矛手
2013/12/09 DOTA
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python多线程编程(五):死锁的形成
2015/04/05 Python
分享一下Python 开发者节省时间的10个方法
2015/10/02 Python
Python处理中文标点符号大集合
2018/05/14 Python
详解Python中is和==的区别
2019/03/21 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
python 监控服务器是否有人远程登录(详细思路+代码)
2020/12/18 Python
美体小铺印度官网:The Body Shop印度
2019/10/17 全球购物
银行职业规划书范文
2013/12/28 职场文书
社会治安综合治理管理责任书
2014/04/16 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
2015入党自传书范文
2015/06/26 职场文书
雨雪天气温馨提示
2015/07/15 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技
MySQL优化及索引解析
2022/03/17 MySQL