Maison  >  Article  >  interface Web  >  js timer (exécuter une fois, répéter l'exécution)_compétences javascript

js timer (exécuter une fois, répéter l'exécution)_compétences javascript

WBOY
WBOYoriginal
2016-05-16 16:56:291122parcourir

1. Un timer qui ne s'exécute qu'une seule fois

Copier le code Le code est le suivant :

< ;script>
//Le minuteur s'exécute de manière asynchrone
function hello(){
alert("hello");
//Utilisez le nom de la méthode pour exécuter la méthode
var t1 = window.setTimeout(hello,1000);
var t2 = window.setTimeout("hello()",3000);//Utiliser la méthode d'exécution de chaîne
window.clearTimeout(t1) ;//Supprimer le minuteur



2, minuteur pour exécution répétée


Copier le code Le code est le suivant :
<script> <br>function hello(){ <br>alert("hello"); >} <br>//Répéter Exécuter une méthode <br>var t1 = window.setInterval(hello,1000); <br>var t2 = window.setInterval("hello()",3000); <br>// Méthode pour supprimer le timer<br>window.clearInterval(t1); <br></script>


Remarque :

S'il existe deux méthodes dans un page, les deux sont dans la page. Il est exécuté une fois le chargement terminé, mais il ne parvient pas à être exécuté dans l'ordre. Vous pouvez vous référer aux méthodes suivantes pour résoudre le problème :
Vous pouvez ajouter une minuterie dans la méthode onload. , définissez une minuterie et "délaiez" pendant un certain temps avant de réexécuter. Il est considéré comme distinguant l'ordre de chargement des pages et les méthodes d'exécution.


En javascript, il existe deux fonctions dédiées aux timers, à savoir :

1. Compte à rebours : timename=setTimeout("function();",delaytime);

2. Minuteur de boucle : timename=setInterval("function();",delaytime);


Le premier paramètre "function()" est l'action à exécuter lorsque le timer est déclenché. Il peut s'agir d'une fonction ou de plusieurs fonctions. Les fonctions peuvent être séparées par ";". Par exemple, si vous souhaitez afficher deux fenêtres d'avertissement, vous pouvez remplacer "function();" par

"alert('Première fenêtre d'avertissement !'); alert('Deuxième fenêtre d'avertissement !');"; Le deuxième paramètre "delaytime" est le temps d'intervalle en millisecondes, c'est-à-dire que remplir "5000" signifie 5 secondes.

Le compte à rebours déclenche un événement après l'heure spécifiée, tandis que le minuteur en boucle déclenche l'événement à plusieurs reprises lorsque l'intervalle arrive. La différence entre les deux est que le premier ne fonctionne qu'une seule fois, tandis que le second fonctionne en continu.
Par exemple, après avoir ouvert une page et souhaité passer automatiquement à une autre page toutes les quelques secondes, vous devez utiliser le compte à rebours "setTimeout("function();",delaytime)", et si vous souhaitez définir une phrase pour qu'elle apparaisse un mot à la fois,
nécessite l'utilisation du minuteur de boucle "setInterval("function();",delaytime)".

Pour obtenir le focus du formulaire, document.activeElement.id est utilisé. Utilisez if pour déterminer si document.activeElement.id et l'ID du formulaire sont identiques.

Par exemple : if ("mid" == document.activeElement.id) {alert();}, "mid" est l'ID correspondant au formulaire.


Minuteur :

Utilisé pour spécifier un programme à exécuter après une période de temps spécifique.

Exécution du timing en JS, la différence entre setTimeout et setInterval et la méthode d'annulation

setTimeout(Expression,DelayTime), après DelayTime, une expression sera exécutée setTimeout est utilisée pour retarder une période de temps avant d'effectuer une opération.

setTimeout("function",time) définit un objet timeout


setInterval(expression, delayTime), L'expression sera exécutée pour chaque DelayTime. Elle peut souvent être utilisée pour actualiser les expressions

setInterval("function", time) définit un objet timeout

.
SetInterval est automatiquement répété et setTimeout ne sera pas répété.

clearTimeout(object) efface l'objet setTimeout

clearInterval(object) efface l'objet setInterval


Donnez juste deux exemples.

Exemple 1. Lorsque le formulaire est déclenché ou chargé, affichez la chaîne textuellement


< head>

Document sans titre









Exemple 2. Lorsque le focus est sur la zone de saisie, vérifiez régulièrement les informations de la zone de saisie et n'effectuez pas l'action de vérification lorsque le focus n'est pas activé.

Copier le code Le code est le suivant :




Document sans titre












Exemple 3. Ce qui suit est l'exemple le plus simple. Une fenêtre d'avertissement apparaît après l'expiration du délai.

Copier le code Le code est le suivant :



function count() {
document.getElementByIdx_x_x('m').innerHTML="Le minuteur a démarré !";
setTimeout("alert(' Dix secondes pour ! ')",10000)
}



< input TYPE="button" value=" Le timing démarre" onclick="count()">




Exemple 4 : Saut dans le temps du compte à rebours





Ma page de démarrage JSP 'ds04.jsp'< ;/ title><br> <span id="tiao">3</span><br> <a href="javascript:countDown"> </a>Sauter automatiquement après quelques secondes...<br> <meta http-equiv=refresh content=3;url= '/ds02.jsp'/><br> <!--Démarrer le script--><br> <script language="javascript" type= ""><br>function countDown(secs){<br> tiao.innerText=secs;<br> if(--secs>0)<br> setTimeout("countDown(" secs ")",1000 ); <br> }<br> countDown(3);<br> </script><br> <!--Fin du script--><br> </head><br><br><br> </div>Exemple 6 :<br> <br><p></p> <div class="codetitle"><span>Copier le code<a style="CURSOR: pointer" data="16541" class="copybut" id="copybut16541" onclick="doCopy('code16541')"><u></u> Le code est le suivant :</a></span></div><head> méta http- equiv="refresh" content="2;url='b.html'"> <div class="codebody" id="code16541"></head> <br>Exemple 7 :<br> <br><br> </div> <p>Copier le code</p> <p></p> <div class="codetitle"> Le code est le suivant :<span><a style="CURSOR: pointer" data="36431" class="copybut" id="copybut36431" onclick="doCopy('code36431')"><u><script language="javascript" type ="text /javascript"></u> setTimeout("window.location.href='b.html'", 2000);</a> //Les deux éléments suivants peuvent être utilisés</span> //setTimeout(" javascript:location.href='b.html'", 2000);</div> //setTimeout("window.location='b.html'", 2000);<div class="codebody" id="code36431"></script><br><br><br> <br>Exemple 8 :<br> <br><br> </div> <p>Copier le code</p> <p></p> <div class="codetitle"> Le code est le suivant :<span><div class="codebody" id="code3319"> <br><span id="totalSecond">2</span><br><script language="javascript" type="text/javascript"><br> var second = document.getElementByIdx_x ("totalSecond").innerHTML;<br> if(isNaN(second)){<br>  //……不是数字的处理方法<br> }else{<br>  setInterval(function(){<br>   document .getElementByIdx_x('totalSecond').innerHTML = --second;<br>   if (second <= 0) {<br>    window.location = 'b.html';<br>   }<br>  }, 1000) ;<br> } <br></script><br> </div></span> </div></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>Déclaration:</span><div>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</div></div></div><div class="nphpSytBox"><span>Article précédent:<a class="dBlack" title="Un exemple simple de changement de contenu de zone de texte de jugement JS compétences event_javascript" href="http://m.php.cn/fr/faq/13733.html">Un exemple simple de changement de contenu de zone de texte de jugement JS compétences event_javascript</a></span><span>Article suivant:<a class="dBlack" title="Un exemple simple de changement de contenu de zone de texte de jugement JS compétences event_javascript" href="http://m.php.cn/fr/faq/13735.html">Un exemple simple de changement de contenu de zone de texte de jugement JS compétences event_javascript</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>Articles Liés</h2><em><a href="http://m.php.cn/fr/article.html" class="bBlack"><i>Voir plus</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/fr/faq/1609.html" title="Une analyse approfondie du composant de groupe de liste Bootstrap" class="aBlack">Une analyse approfondie du composant de groupe de liste Bootstrap</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/1640.html" title="Explication détaillée du currying de la fonction JavaScript" class="aBlack">Explication détaillée du currying de la fonction JavaScript</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/1949.html" title="Exemple complet de génération de mot de passe JS et de détection de force (avec téléchargement du code source de démonstration)" class="aBlack">Exemple complet de génération de mot de passe JS et de détection de force (avec téléchargement du code source de démonstration)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/2248.html" title="Angularjs intègre l'interface utilisateur WeChat (weui)" class="aBlack">Angularjs intègre l'interface utilisateur WeChat (weui)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/fr/faq/2351.html" title="Comment basculer rapidement entre le chinois traditionnel et le chinois simplifié avec JavaScript et l'astuce permettant aux sites Web de prendre en charge le basculement entre les compétences en chinois simplifié et traditionnel_javascript" class="aBlack">Comment basculer rapidement entre le chinois traditionnel et le chinois simplifié avec JavaScript et l'astuce permettant aux sites Web de prendre en charge le basculement entre les compétences en chinois simplifié et traditionnel_javascript</a><div class="clear"></div></li></ul></div></div><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!</p></div><div class="footermid"><a href="http://m.php.cn/fr/about/us.html">À propos de nous</a><a href="http://m.php.cn/fr/about/disclaimer.html">Clause de non-responsabilité</a><a href="http://m.php.cn/fr/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>