Javascript中暂停功能的实现

原创 2004年09月22日 11:49:00

<script language="javascript">
/*Javascript中暂停功能的实现
Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能。
javascript作为弱对象语言,一个函数也可以作为一个对象使用。
比如:
function Test(){
 alert("hellow");
 this.NextStep=function(){
  alert("NextStep");
 }
}
我们可以这样调用 var myTest=new Test();myTest.NextStep();

我们做暂停的时候可以吧一个函数分为两部分,暂停操作前的不变,把要在暂停后执行的代码放在this.NextStep中。
为了控制暂停和继续,我们需要编写两个函数来分别实现暂停和继续功能。
暂停函数如下:
*/
function Pause(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 + ")",1000);
}
/*
该函数把要暂停的函数放到数组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");
 Pause(this,1000);//调用暂停函数
 this.NextStep=function(){
  alert("NextStep");
 }
}
</script>

浅谈JavaScript如何运行中断或停止

在js运行过程中,在某些情况下想中断程序的运行,在网上查过,没有找到有这样的函数。一般情况下,大多数都是用return代替的。   因为js脚本很多都是基于函数的运行,return的作用是中断函数的...
  • qq_16559905
  • qq_16559905
  • 2016年04月08日 18:20
  • 14835

JS暂停函数(类似java中的sleep)

项目遇到了一个问题,刚刚解决了,在此记录一下guoch
  • u012909091
  • u012909091
  • 2014年05月17日 11:19
  • 4508

刚找到的js暂停函数,共享出来给大家

刚找到的js暂停函数,共享出来给大家。主要是利用模式对话框会将下层窗口的程序暂停的功能。看代码就知道了。缺点就是暂停的时候你不能操作页面上的任何东西,还有,如果将它加在循环体里面,因为本身模式对话框的...
  • KimYoo
  • KimYoo
  • 2004年11月20日 12:33
  • 5808

Js中for循环的阻塞机制

什么是阻塞机制 Js阻塞机制,跟Js引擎的单线程处理方式有关,每个window一个JS线程。所谓单线程,在某个特定的时刻只有特定的代码能够被执行,并阻塞其它的代码。 由于浏览器是事件驱动的(Eve...
  • wad13965
  • wad13965
  • 2016年10月24日 20:48
  • 5565

JS倒计时代码(可随时点击停止)

Document 0) {alert("停止计时");return false;}document.location="https://www.baidu.com/"; this.di...
  • haibo0668
  • haibo0668
  • 2017年03月21日 16:49
  • 730

JS倒计时效果带暂停和继续

HTML DOM var h=0,m=0,s=0; var mytime=null; //开始倒计时 function doSubmit(){ h=documen...
  • zhoumengkang
  • zhoumengkang
  • 2013年01月03日 19:51
  • 2845

Javascript中暂停功能的实现

/*Javascript中暂停功能的实现Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能。javascript作为弱对...
  • snakegod
  • snakegod
  • 2004年09月22日 11:49
  • 8217

js 实时刷新 暂停

本人前几天做了一个功能,就是实时刷新
  • u012668297
  • u012668297
  • 2014年04月23日 15:23
  • 920

[转贴]Javascript中暂停功能的实现

http://www.webjx.com 2004年12月27日 网页教学网    /*Javascript中暂停功能的实现  Javascript本身没有暂停功能(sleep不能使用)同时 vbsc...
  • gzxiaohao
  • gzxiaohao
  • 2005年01月24日 13:33
  • 483

Javascript中暂停功能的实现

 /*Javascript中暂停功能的实现Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能。javascript作为弱...
  • xiemails
  • xiemails
  • 2004年10月12日 11:44
  • 656
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Javascript中暂停功能的实现
举报原因:
原因补充:

(最多只允许输入30个字)