Maison > interface Web > js tutoriel > Le minuteur JavaScript SetTimeout actualise régulièrement la fenêtre et ferme la fenêtre (le code est super simple)_compétences javascript

Le minuteur JavaScript SetTimeout actualise régulièrement la fenêtre et ferme la fenêtre (le code est super simple)_compétences javascript

PHP中文网
Libérer: 2016-05-16 15:13:15
original
1729 Les gens l'ont consulté

JavaScript timer SetTimeout rafraîchit régulièrement la fenêtre et ferme la fenêtre (le code est super simple)_javascript skills

Fini les bêtises, je posterai juste le code pour vous.

// 每隔五秒定时刷新当前窗口
setTimeout("self.location.reload();",5000);
//js 定时关闭窗口(ie和FF中测试过)
//6秒后自动关闭当前窗口
setTimeout("window.opener=null;window.close()",6000);
Copier après la connexion

Ce qui suit est une introduction à l'utilisation des minuteries javascript

Utilisation du timing L'objet window qui implémente l'exécution différée ou l'exécution répétée de JavaScript fournit deux méthodes pour obtenir l'effet timer, à savoir

window.setTimeout() et window.setInterval. Le premier peut exécuter un morceau de code après une heure spécifiée ; tandis que le second peut exécuter un morceau de code une fois à chaque heure spécifiée. Leurs prototypes sont les suivants :

window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds);
Copier après la connexion

où expression peut être une chaîne ou un nom de fonction. Lorsqu'il s'agit d'une chaîne, vous pouvez prendre des paramètres, mais le nom de la fonction ne peut pas prendre de paramètres. Si vous prenez des paramètres, la fonction sera exécutée directement sans délai.

 function hello (){ 
console.log('I am dada'); //alert('I am ' + name);
//setTimeout(arguments.callee,2000); 
} setTimeout(hello,5000);//5秒后执行 setTimeout('hello()',3000);//3秒后执行
setTimeout(hello(),8000);//立刻执行
Copier après la connexion

Le premier cas est un nom de fonction, mais il ne peut pas prendre de paramètres

Le deuxième cas est une chaîne, Le code js exécutable peut prendre des paramètres, mais les performances sont pires que le nom de la fonction

La troisième méthode consiste à appeler la fonction et à l'exécuter directement

Donc, si vous voulez transmettre des paramètres, mais ne Je ne veux pas passer de caractères Pour appeler sous la forme d'une chaîne, vous pouvez écrire une méthode vous-même :

function _hello(_name){ 
return function(){ 
hello2(_name); 
} 
} 
setTimeout(_hello(name),7000);//立刻执行
Copier après la connexion

1. setTimeout

setTimeout(function(){
//要执行的代码 
},200);
Copier après la connexion

signifie qu'après 200 ms, le code du minuteur est ajouté à la file d'attente et attend pour que le processus JavaScript soit inactif avant l'exécution du code

2. setInterval

1. un minuteur qui exécute le code toutes les 200 ms
2. Lors de l'utilisation de setInterval, le code du minuteur est ajouté à la file d'attente uniquement s'il n'y a pas d'autres instances de ce minuteur (dans la file d'attente). instruction (c'est-à-dire : le minuteur actuel. Lorsque le code du minuteur est exécuté, le premier code du minuteur qui suit sera ajouté à la file d'attente et attendra son exécution, et les codes de minuteur suivants ne seront pas ajoutés à la file d'attente)

Utilisez setInterval pour exécuter Vous rencontrerez un problème lors de l'exécution de comportements répétés :

Lorsque le temps d'exécution du code du timer (s'il faut 600 ms pour l'exécuter) dépasse l'intervalle spécifié (ici 200 ms), alors certains codes de minuterie seront ignorés (c'est-à-dire que les codes de minuterie suivants ne seront pas ajoutés à la file d'attente). Une fois le code de minuterie précédent exécuté, le code de minuterie dans la file d'attente sera exécuté immédiatement et il n'y aura aucun intervalle entre les codes. exécutions entre les chronomètres. À ce stade, vous devez utiliser setTimeout en chaîne.

L'avantage de ceci est : une fois le code à exécuter par le timer précédent exécuté et attendu 200 ms, un nouveau timer est créé et le code du timer est ajouté à la file d'attente pour exécution : le code du timer ne sera pas ignoré ; il peut y avoir des intervalles entre les exécutions de code entre les timers (selon vos propres paramètres).

setTimeout(function(){
//要执行的代码 
setTimeout(arguments.callee,2000); 
},2000);
setInterval(function(){
//要执行的代码 
},200);
Copier après la connexion

Ce qui précède est le contenu de la fenêtre d'actualisation régulière et de la fermeture de la fenêtre du minuteur JavaScript SetTimeout (le code est super simple)_compétences javascript. plus de contenu connexe Site Web PHP chinois (www.php.cn) !


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