Comunidad de diseño web y desarrollo en internet online

como ejecutar algo despues de un tiempo?

Citar            
MensajeEscrito el 06 Oct 2010 05:17 pm
Hola me gustaria saber como puedo hacer lo siguiente.. que un boton me envie a 2 sitios diferentes, dependiento de el tiempo en el que se han presionado.

Por ejemplo si se presiono y solto, me envie a sitio 1
Si se preciono y lleva 5 segundos presionado y luego se suelta me envie a sitio 2

Me falta la logica y las instrucciones.. tengo interes en aprender a hacer esto en javascript. no nesesariamente lo hagan orientenme y si lo pueden hacer expliquenme para mejorarlo de antemano gracias

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 06 Oct 2010 07:35 pm
Debes jugar con los eventos onMousedown y onMouseup del input (o el button) en cuestión.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 07 Oct 2010 02:33 pm
Gracias, encontre mi respuesta lode jugar con los eventos es cierto pero lo solucione asi mira:
lo escribo en logica para mas rapido si alguien quiere el codigo pidalo de favor:

function mi_funcion(){
if variable=1 { ve a tal pagina o as lo que deseo} // este es el que verifica si se presiono por sierto tiempo el boton.
}
variable=0;
boton onmousedown{
variable=1;
setTimeOut("mi_funcion()",5000); //este hace la magia de lo que queria en este caso 5000 son 5 segundos.
}

boton onmouseup{
variable=0;
}


Nota descubri que es muy importante la funcion setTimeOut en esencia lo que hace es ejecutar el codigo que esta entre comillas, despues de que pase el tiempo que le indicas en milisegundos.

Exploten esta funcion al maximo por que lo que sele pone entre comillas lo ejecuta textual por ejemplo:

setTimeOut("if("+casa+"==3){lo que ara el if",5000);

a y cuidado por que almacena el valor de las variables en el tiempo en que se llama a la funcion. en el ejemplo que puse
si la variable casa valiera 3 cuando se ejecuto la funcion setTimeOut, y cambia antes de los 5 segundos, la variable para setTimeOut seguira valiendo 3

Chequen prueben y me avisan.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 07 Oct 2010 04:12 pm
Yep, así lo habría hecho yo. Salvo que en el evento onMouseup controlaría si el temporizador está andando, en dado caso lo cancelo (porque no han pasado los 5 segundos todavía) y si no está andando es porque ya pasaron los 5 segundos (es imposible que se ejecute el evento onMouseup sin que antes se halla ejecutado el evento onMousedown).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 08 Oct 2010 02:21 pm
cierto pero bueno solo queria exponer la logica no desarrollar toda la tematica.

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie8

 

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