Javascript中暂停功能的实现代码

2016-02-19 10:37 37 1 收藏

下面是个Javascript中暂停功能的实现代码教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - Web开发 】

代码如下:

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;iwindow.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


来源:https://www.tulaoshi.com/n/20160219/1595287.html

延伸阅读
代码如下: import org.apache.log4j.*; public class TaskJob {        public static Logger log = Logger                      .getLogger(TaskJob.class);        p...
标签: Web开发
但是,这两个函数是异步的,在计时的过程中它们后面的代码还是会继续执行。那就自己来写个sleep()函数吧,网上也流传了一些实现方法,不过我发现下面这个方法简单易懂而且实用,所以在这里分享给大家: 代码如下: console.log('start...'); console.log('now time: ' + Date(/\d{10,10}/.exec(Date.now()))); function sleep(sleepTime) { &...
标签: Web开发
在控制台中输入  db.drawCircle([50,50],20,"black");  db.drawLine([5,5],[36,44],"red");  可以看到效果  代码如下: body style="margin:0px;"  /body  script      function DrawingBoard(width,height,size)      {   &nb...
标签: Web开发
代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head titlejquery分页控件/title script src="jquery-1.3.min.js" type="text/javascript"/script /head body div class="pager"/div !--div s...
sql 代码如下: INSERT INTO `table` ('id','aa','bb','cc') SELECT 'id','aa','bb','cc' FROM `table` (WHERE .....) Tips: 代码如下: /** * 复制新纪录的时候,可能要更新id或者是部分数据(假设id自增加的情况) * * text_aa 为固定值 ,可在脚本调用中赋变量值 如($aa) * 注意'text_aa' 与 `cc` 的区别 ,一个是数据,一个是字段 **/ I...

经验教程

485

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部