2008-12-22 15 views
6

¿Alguien me puede enviar código JavaScript sobre cómo puedo construir un retraso desde que hago clic en un botón en una página hasta que se ejecuta la función llamada mediante el clic de botón. Soy un principiante con JavaScript, y tengo un código que realiza una función cuando hago clic en un botón, y solo quiero tener un retraso de tiempo.Demora de tiempo al hacer clic

Respuesta

7

Este es el Javascript:

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

var delay = 1000; 

setTimeout(myfunction, delay) 

Esa es la esencia. Ahora necesita engancharlo en un botón en una página html: incruste la definición de función en <script> ... </script> etiquetas y prográmelas en el método onClick.

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

Pruebe la función setTimeout:

setTimeout(functionToExecute, 1000) 

El primer parámetro es la función que se activará y el segundo es el retardo en milisegundos.

4

Si necesita pasar parámetros:

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

Yo sugeriría mirar en Prototype.js Especialmente si usted es nuevo desarrollador de JavaScript. El prototipo ya ha descubierto muchas de las necesidades más comunes que los desarrolladores de JavaScript quieren hacer en su código ... y Prototype lo hace de manera independiente del navegador. (hay otras librerías de JavaScript que pueden hacer esto también)

Puede hacerlo codificado en las otras respuestas ... pero he descubierto que normalmente gasto menos esfuerzo en preocuparme por los errores en mi código después de que invirtió en un buen libro y pasó 2 días leyendo sobre Prototype (o alguna otra biblioteca como jQuery) versus buscar en Internet y copiar/pegar varias partes de soluciones./shrug