2008-12-22 11 views
6

Quelqu'un peut-il m'envoyer du code JavaScript sur la façon dont je peux construire un délai entre le moment où je clique sur un bouton d'une page et le moment où la fonction appelée par le bouton est exécutée? Je suis un novice avec JavaScript, et j'ai du code qui exécute une fonction quand je clique sur un bouton, et je veux juste avoir un délai.Temps de retard sur clic

Répondre

7

C'est le Javascript:

function myfunction() { 
    alert("delayed"); 
} 

var delay = 1000; 

setTimeout(myfunction, delay) 

C'est l'essence. Vous devez maintenant l'accrocher dans un bouton sur une page html: incorporer la définition de la fonction dans les balises <script> ... </script>, et le planifier dans la méthode onClick.

.... 
<button onClick="setTimeout(myfunction, delay);">Click_And_Wait</button> 
1

Essayez la fonction setTimeout:

setTimeout(functionToExecute, 1000) 

Le premier paramètre est la fonction qui sera déclenchée et le second est le retard en millisecondes.

4

Si vous avez besoin de passer des paramètres:

function clickHandler(id,value,delay) 
{ 
    setTimeout(function() { actualFunction(id, value); }, delay); 
} 

function actualFunction(id, value) 
{ 
    alert('button ' + id + ' has value = ' + value); 
} 


<input id='clickButton' type='button' 
     onclick='clickHandler(this.id,this.value,5000);' 
     value='Click Me' /> 
0

Je suggère à la recherche en Prototype.js Surtout si vous êtes nouveau développeur pour JavaScript. Prototype a déjà compris beaucoup des besoins les plus courants que les développeurs JavaScript veulent faire dans leur code .. et Prototype le fait de manière indépendante du navigateur. (Il existe d'autres bibliothèques JavaScript qui peuvent le faire aussi)

Vous pouvez le faire comme codé dans les autres réponses .. mais j'ai constaté que je dépense généralement moins d'effort à me soucier des bogues dans mon code après que je investi dans un bon livre et passé 2 jours à lire sur Prototype (ou une autre bibliothèque comme jQuery) par rapport à la recherche sur Internet et copier/coller diverses parties de solutions./shrug