Javascript中暂停功能的实现代码

2016-02-19 10:37 44 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


来源:http://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开发
//改變時的事件 代码如下: $("#testSelect").change(function(){ //事件發生 jQuery('option:selected', this).each(function(){ //印出選到多個值 alert(this.value); }); }); //印出選到的項目 代码如下: 法1:$("select#Clubs").children("[@selected]").each(function(){ alert(this.text); }); 法2:$("#selBags").va...
去掉标题栏: requestWindowFeature(Window.FEATURE_NO_TITLE); API上是这么说的: int     FEATURE_NO_TITLE     Flag for the "no title" feature, turning off the title at the top of the screen. 屏幕全屏: getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); API上是这么说的...

经验教程

667

收藏

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