Foros del Web » Programando para Internet » Javascript »

Hacer una pausa en javascript

Estas en el tema de Hacer una pausa en javascript en el foro de Javascript en Foros del Web. Hola buenas, mi pequeño gran problema es que tengo el siguiente codigo que les muestro, y que funciona bien, pero necesito que haga una pausa ...
  #1 (permalink)  
Antiguo 11/12/2013, 12:04
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Hacer una pausa en javascript

Hola buenas, mi pequeño gran problema es que tengo el siguiente codigo que les muestro, y que funciona bien, pero necesito que haga una pausa de 2 segundos antes de que se ejecute.

El problema es que se como se hace, pero como soy novato en javascript no atino a conseguirlo.

He buscado por internet y he visto que se hace con seTimeout y dandole el tiempo en milisegundos. Pero me da error siempre.

Si pudieran ayudarme les estaría muy agradecido.

este es el codigo:

Código Javascript:
Ver original
  1. function MoverTexto(id,d)
  2.     {      
  3.         for(var i=1;i<=9;i++) {
  4.  
  5.             var bloque=document.getElementById("mover"+i);
  6.        
  7.             if(i==id)
  8.             {
  9.                 if(d=="arriba")
  10.                 /*    bloque.style.top="90px";
  11.                 else*/
  12.                     bloque.style.top="200px";
  13.             }else
  14.            
  15.             {
  16.                 bloque.style.top="-3000px";
  17.             }  
  18.         }  
  19.     }
  #2 (permalink)  
Antiguo 11/12/2013, 12:07
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Hacer una pausa en javascript

Yo no lo veo tan complicado:

Código Javascript:
Ver original
  1. window.setTimeout(function(){MoverTexto('texto1', 'texto2')}, 2000);

Eso añadido debajo del código anterior.
  #3 (permalink)  
Antiguo 11/12/2013, 12:14
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: Hacer una pausa en javascript

ahh se me olvidaba, el codigo de cada boton de mi menu que hace activar este codigo es el siguiente:

<a onclick="MoverTexto('1', 'arriba');" class="dock-item"><span class="fondo_titular_icono">

Somos</span><img src="images/icono_somos.png" alt="" title=""/>

</a


Lo digo por que si pongo solo el codigo que me has pasado (gracias por cierto), pues como que sigue sin funcionar.

Lo digo por si con este codigo del boton que pongo soy mas concreto para la solucion
  #4 (permalink)  
Antiguo 11/12/2013, 12:18
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Hacer una pausa en javascript

No, desde el atributo onclick pones el código que puse pero con los parámetros que quieras... No sé dónde está el error.
  #5 (permalink)  
Antiguo 11/12/2013, 12:34
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: Hacer una pausa en javascript

Muchas gracias fenomeno ha funcionado a la perfeccion en cualquier caso pongo aquí la solución por si alguien se ve con el mismo problema que yo, que le pueda servir:


Código Javascript:
Ver original
  1. <a onclick="window.setTimeout(function(){MoverTexto('2', 'arriba')}, 2000);" class="dock-item"><span class="fondo_titular_icono">
  2.                                        
  3.                                         Somos</span><img src="images/icono_somos.png" alt="" title=""/></a>


Saludos !!!!!!!!
  #6 (permalink)  
Antiguo 11/04/2015, 11:39
 
Fecha de Ingreso: abril-2015
Mensajes: 24
Antigüedad: 9 años
Puntos: 1
Respuesta: Hacer una pausa en javascript

Cita:
Iniciado por mensajeescrito Ver Mensaje
Muchas gracias fenomeno ha funcionado a la perfeccion en cualquier caso pongo aquí la solución por si alguien se ve con el mismo problema que yo, que le pueda servir:


Código Javascript:
Ver original
  1. <a onclick="window.setTimeout(function(){MoverTexto('2', 'arriba')}, 2000);" class="dock-item"><span class="fondo_titular_icono">
  2.                                        
  3.                                         Somos</span><img src="images/icono_somos.png" alt="" title=""/></a>


Saludos !!!!!!!!
Y digo yo:

¿No es más fácil llamar una función que genere un "bucle" del tiempo que quieras, y condicionar la ejecución del código que sigue cuando finalice ese tiempo?

Un ejemplo.

var tiempo=0;
function espera(){

//generamos el contador
tiempo=tiempo+1;

//condicionamos a que el bucle se pare cuando pasen 2000 mili-segundos, y pase a ejecutar la función codigo()
if(tiempo>=2){código();return}

//definimos bucle que ejecuta el contador cada segundo
setTimeout('espera()',1000)
}

function código(){//aquí colocamos el código objeto del post}

Y en "body" podemos colocar el "onclick" con la siguiente llamada:

onclick="espera()"

De esta forma se ejecuta primero la espera de dos segundos, y de manera automática se ejecuta el código que contiene la función "código()".

Coloco a continuación un boceto de la página completa en modo Highlight. Obsérvese que al finalizar el bucle la variable "tiempo" vuelve a valor cero para que al volver al ejecutar código() se respeten los dos segundos de espera.

Código HTML:
Ver original
  1.  
  2. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  3. <title>generador de 2 segundos de espera</title>
  4. </head>
  5. <script language=javascript>
  6.  
  7. var tiempo=0;
  8.  
  9. function espera(){
  10.  
  11. //generamos el contador
  12.  
  13. tiempo=tiempo+1;
  14.  
  15.  
  16. //condicionamos a que el bucle se pare cuando pasen 2000 mili-segundos
  17. //y acto seguido ejecute el código de la función codigo()
  18.  
  19. if(tiempo>=2){código();tiempo=0;return}
  20.  
  21.  
  22. //definimos bucle que se ejecuta cada segundo
  23.  
  24. setTimeout('espera()',1000)
  25. }
  26.  
  27. function código(){
  28.  
  29. //Aquí colocamos el código o programa que habría que ejecutar.
  30.  
  31. alert('el programa se está ejecutando')
  32.  
  33. }
  34.  
  35.  
  36.  
  37.  
  38. <form >
  39.    
  40.     <p><input type="button" value="Botón" name="B3" onclick="espera()"></p>
  41. </form>
  42.  
  43. </body>
  44.  
  45. </html>

Última edición por luisceb; 11/04/2015 a las 11:51

Etiquetas: funcion, pausa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 17:34.