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 相关文章推荐
[原创]图片分页查看
Aug 28 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
Jul 03 Javascript
Table冻结表头示例代码
Aug 20 Javascript
javascript日期对象格式化为字符串的实现方法
Jan 14 Javascript
脚本div实现拖放功能(两种)
Feb 13 Javascript
vue小图标favicon不显示的解决方案
Sep 19 Javascript
JS实现小球的弹性碰撞效果
Nov 11 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
Dec 01 Javascript
Node.js爬取豆瓣数据实例分析
Mar 05 Javascript
vue实现百度下拉列表交互操作示例
Mar 12 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
Feb 14 Javascript
js实现微信聊天效果
Aug 09 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下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
第五章 php数组操作
2011/12/30 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
js面向对象的写法
2016/02/19 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
探讨跨域请求资源的几种方式(总结)
2016/12/02 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
webpack 模块热替换原理
2018/04/09 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
python机器学习实战之树回归详解
2017/12/20 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
python实现图片素描效果
2020/09/26 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
护理学专业推荐信
2013/12/03 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
办公室领导干部作风整顿个人整改措施
2014/09/17 职场文书
企业百日安全活动总结
2015/05/07 职场文书
矛盾论读书笔记
2015/06/29 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
Python数据分析之pandas读取数据
2021/06/02 Python
css3 文字断裂效果
2022/04/22 HTML / CSS
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技