Comunidad de diseño web y desarrollo en internet online

control de evento por tiempo...

Citar            
MensajeEscrito el 09 Dic 2005 06:12 pm
Hola, me gustaria saber con que funcion puedo controlar algun evento de un MC en un lapso de tiempo, me explico, digamos que aparece un mensaje en un form diciendo que el mensaje se ha enviado, y que despues de unos 5 segundos desaparesca por ejemplo, muchas gracias!

Por Finvara

807 de clabLevel



 

EL reino de los duendes...

firefox
Citar            
MensajeEscrito el 09 Dic 2005 06:36 pm
setInterval :? Mira la ayuda de flash sobre eso, que te lo explicará mejor que yo. Mete las acciones que quieras en una función y luego

Código :

setInterval(mifuncion, tiempoDeIntervaloEnMilisegundos, param0, param1, paramN...)

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 09 Dic 2005 07:15 pm
ok si me imagine que era el setInterval pero no se me ocurrio como aplicarlo.. :crap: , en realidad mis conocimientos de programacion son un poco limitados, pero ok, la cosa es que yo tengo un codigo que tome de un tutorial de cristalab sobre envio de formularios y lo modifique un poquito..

Código :

//Función que procesa los datos recibidos del servidor
recibir_lv.onLoad = function(exito) {
   if (exito) {
      //estado_txt.text = this.estado;
      estado_txt.text ="This message has been sent";
      //se formatean los campos del form
      asunto_txt.text="";
      company_txt.text="";
      email_txt.text="";
      cuerpo_txt.text="";
   } else {
      //Muestra un mensaje de error en negrita
      estado_txt.text = "Error ";
   }
};

mi pregunta es, la funcion setIntrval iria depues de cada sentencia: estado_txt.text..... para que se ejecute luego de que aparece el mensaje? es lo que pienso que es mas logico, aunque no se... y la definicion de la funcion seria el otro problem... seria algo asi como:

Código :

function(desaparecer){
estado_txt.text="";
}


y el set interval asi?:


Código :

setInterval(desaparecer,5000);


una vez mas muchas gracias!

Por Finvara

807 de clabLevel



 

EL reino de los duendes...

firefox
Citar            
MensajeEscrito el 09 Dic 2005 07:45 pm
finvara, las funciones se definen asi:

function nombre( args ){
cuerpo funcion
}

un ejemplo para lo que quieres hacer es asi:

Código :

var interval_hide;
recibir_lv.onLoad = function(exito) {
   if (exito) {
      //estado_txt.text = this.estado;
      estado_txt.text ="This message has been sent";
      //se formatean los campos del form
      asunto_txt.text="";
      company_txt.text="";
      email_txt.text="";
      cuerpo_txt.text="";
   } else {
   interval_hide = setInterval(ocultar, 5000);      
   }
}; 

function ocultar() {
   estado_txt.text = "";
   clearInterval(interval_hide);
}

Por Moothras

182 de clabLevel

1 tutorial

 

firefox
Citar            
MensajeEscrito el 09 Dic 2005 09:43 pm
Muchas gracias por la aclaracion de como definir una función, ya lo ensaye y parcialmnte funciona lo que me planteas, a ver me explico, esta funcion procesa los datos enviados por el servidor, hay dos opciones, una es que se envio el mensaje y la otra es un error, en ambas opciones hay un mensaje dentro del mismo textbox por supuesto, y en cualquiera se debe borrar el mensaje, entonces como tu lo pones veo que si el mensaje es enviado correctamente el setInterval no se ejecuta, pues yo lo puse dentro de ambas opciones y va bien:

Código :

//Declaro las variables para enviar y para recibir
var envio_lv:LoadVars = new LoadVars();
var recibir_lv:LoadVars = new LoadVars();
var interval_hide;
//Función que envia el forumlario
function enviarMail ()
{
   if ((asunto_txt.text !="") && (company_txt.text !="") && (email_txt.text !="") && (cuerpo_txt.text !=""))
   {
      envio_lv.asunto = asunto_txt.text;
      envio_lv.company = company_txt.text;
      envio_lv.email = email_txt.text;
      envio_lv.cuerpo = cuerpo_txt.text;
      envio_lv.sendAndLoad ("email.php", recibir_lv, "POST");
   } 
   else 
   {
      //muestra mensaje de que faltan llenar campos
      estado_txt.text = "diligenciar todos los campos";
      //borra el mensaje de estado
      interval_hide = setInterval(ocultar, 5000);
   }
};
//Función que procesa los datos recibidos del servidor
recibir_lv.onLoad = function(exito) {
   if (exito) {
      //estado_txt.text = this.estado;
      estado_txt.text ="This message has been sent";
      //se formatean los campos del form
      asunto_txt.text="";
      company_txt.text="";
      email_txt.text="";
      cuerpo_txt.text="";
      //borra el mensaje de estado
      interval_hide = setInterval(ocultar, 5000);
   } /*else {
      //Muestra un mensaje de error en negrita
      estado_txt.text = "Error ";
      interval_hide = setInterval(ocultar, 5000);
   }*/
}
function ocultar() {
   estado_txt.text = "";
   clearInterval(interval_hide);
};

muchas gracias por la ayuda, todo fue correcto :) , aunque ahora me pregunto es por lo de la usabilidad, como seria mejor; que el mensaje desaparesca asi o que el usuario deba darle click?? o que otras maneras hay de manejar los formularios...

Por Finvara

807 de clabLevel



 

EL reino de los duendes...

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.