Foros del Web » Programando para Internet » Javascript »

Retardar funciones

Estas en el tema de Retardar funciones en el foro de Javascript en Foros del Web. Hola, quisiera saber, como debo hacer, para que una serie de funciones que tengo, se vayan ejecutando, pero de una en una, digamos por ejemplo ...
  #1 (permalink)  
Antiguo 20/01/2009, 11:50
Avatar de Dalvenjha  
Fecha de Ingreso: febrero-2008
Ubicación: $("#oficina");
Mensajes: 692
Antigüedad: 16 años, 2 meses
Puntos: 53
Retardar funciones

Hola, quisiera saber, como debo hacer, para que una serie de funciones que tengo, se vayan ejecutando, pero de una en una, digamos por ejemplo que la primera pone un fondo blanco, la siguiente hace aparecer un formulario y la otra hace aparecer un div cualquier (Por poner un ejemplo).

Como haría para que una función se ejecute, solo y solo cuando la otra ya terminó de ejecutarse?

Saludos!
__________________
Mi Showcase ||

Compartiendo todo lo posible con los demás.
  #2 (permalink)  
Antiguo 20/01/2009, 11:55
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: Retardar funciones

por que no llamas una funcion en la ultima linea de la funcion anterior?

Código:
funcion1 () {
  ...
  funcion2();
}

funcion2 () {
  ...
  funcion3();
}
funcion3 () {
  ...
}
Si no es mucho codigo, podrias agrupar las 3 funciones en una sola
  #3 (permalink)  
Antiguo 20/01/2009, 13:26
Avatar de Dalvenjha  
Fecha de Ingreso: febrero-2008
Ubicación: $("#oficina");
Mensajes: 692
Antigüedad: 16 años, 2 meses
Puntos: 53
Respuesta: Retardar funciones

Definitivamente no me funciona eso -.-, debería haber una manera de ejecutar una función cuando la otra termine, uhmmm.

Gracias!!!!
__________________
Mi Showcase ||

Compartiendo todo lo posible con los demás.
  #4 (permalink)  
Antiguo 20/01/2009, 13:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Retardar funciones

Depende de qué es exactamente lo que haces dentro de cada función, ya que con funciones "normales", debería funcionar con:
Código javascript:
Ver original
  1. function f1() {
  2. /* ... */
  3. }
  4. function f2() {
  5. /* ... */
  6. }
  7. f1();
  8. f2();
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 20/01/2009, 13:36
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 15 años, 9 meses
Puntos: 27
Respuesta: Retardar funciones

No se quizas no es una buena idea y quizas no te funcione, pero si en las funciones menores retornas una valor que sea usado para llamar a la otra.
Código:
function uno()
{
 return algo;
}
function dos(parametro)
{
return algo;
}
function tres(parametro)
{
 return algo;
}
tres(dos(uno()));
  #6 (permalink)  
Antiguo 20/01/2009, 13:48
Avatar de Dalvenjha  
Fecha de Ingreso: febrero-2008
Ubicación: $("#oficina");
Mensajes: 692
Antigüedad: 16 años, 2 meses
Puntos: 53
Respuesta: Retardar funciones

Ya encontré una solución, como las otras funciones se repiten hasta cierto número, he puesto que cuando lleguen a ese número comience la otra función.

Código:
if (!(suma >= 400)){
ordenes
}
if (suma==400){
otrafunción();
}
__________________
Mi Showcase ||

Compartiendo todo lo posible con los demás.
  #7 (permalink)  
Antiguo 20/01/2009, 13:52
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: Retardar funciones

Para que se ejecute una despues de otra la unica manera es llamarlas en forma secuencial, que una funcion llame a la siguiente. Si te fijas bien, todos te hemos propuesto eso (aunque de distinta manera)

Supongo que ya habras probado todas las formas que se han propuesto. Ninguna te funciona?
Te marca algun error?

Si necesitas un "retraso" despues de terminar una funcion, para poder llamar la otra, lo que puedes hacer es utilizar la funcion setTimeout. A esa funcion le especificas la funcion que quieres ejecutar y el tiempo que se tiene que esperar para ejecutarse.

Código:
function funcion1() {
  ...
 setTimeout(funcion2(),1000);
}
function funcion2() {
  ...
}
}
Lo que haria esto es que, cuando termine la funcion1 (bueno, la ultima linea que ejecuta) es crear un temporizador que esperara 1 seg para ejecutar la funcion2
  #8 (permalink)  
Antiguo 20/01/2009, 14:52
Avatar de Dalvenjha  
Fecha de Ingreso: febrero-2008
Ubicación: $("#oficina");
Mensajes: 692
Antigüedad: 16 años, 2 meses
Puntos: 53
Respuesta: Retardar funciones

Si, justamente hice eso que me dijeron pero aprovechando los if que tenía, lo que sucede es que he hecho algo asi como el lightbox, entonces debía secuenciar un poco y necesitaba los tiempos, muchas gracias!!!

Suerte.
__________________
Mi Showcase ||

Compartiendo todo lo posible con los demás.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:12.