Maison > interface Web > js tutoriel > Comment implémenter la fonction pause en javascript

Comment implémenter la fonction pause en javascript

PHPz
Libérer: 2018-09-28 16:26:29
original
2987 Les gens l'ont consulté

Cet article présente principalement comment implémenter la fonction pause en javascript. Javascript lui-même n'a pas de fonction pause. En même temps, vbscript ne peut pas utiliser doEvents, cette fonction est donc écrite pour implémenter cette fonction. référez-vous à lui. Les détails sont les suivants :

Javascript lui-même n'a pas de fonction pause (le sommeil ne peut pas être utilisé) et vbscript ne peut pas utiliser doEvents, cette fonction est donc écrite pour implémenter cette fonction.

Javascript est un langage objet faible, et une fonction peut également être utilisée comme objet.

Par exemple :

  function Test(){ 
   alert("hellow"); 
   this.NextStep=function(){ 
   alert("NextStep"); 
   } 
  }
Copier après la connexion

On peut appeler comme ça var myTest=new Test();myTest.NextStep();

Lorsque nous faisons une pause, nous pouvons diviser une fonction en deux parties. Le code avant l'opération de pause reste inchangé, et le code à exécuter après la pause est placé dans this.NextStep.

Afin de contrôler la pause et la suite, nous devons écrire deux fonctions pour implémenter respectivement les fonctions pause et continuer.

La fonction pause est la suivante :

<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>
Copier après la connexion

Ce qui précède représente l'intégralité du contenu de ce chapitre. Pour plus de didacticiels connexes, veuillez visiter le Tutoriel vidéo JavaScript !

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal