Comunidad de diseño web y desarrollo en internet online

{ayuda} destruir dos2 objectos en tiempo determinado...

Citar            
MensajeEscrito el 26 Ene 2012 06:07 am
tengo una consulta porque la verdad no estoy muy seguro de que se pueda hacer...

necesito cerrar dos id# en 5 segundo si el mouse(puntero) no está parado encima sobre unos de los dos objetos

es decir yo tengo dos peloticas 0 0 display: block; a lo que la dejo de señalar a los 5seg se cierre !!

Se puede hacer esto con javascript =?

ojala alguien me ayude...

Por js_toni

93 de clabLevel



Genero:Masculino  

programar

firefox
Citar            
MensajeEscrito el 26 Ene 2012 12:15 pm
Sí. Usa setInterval o setTimeout.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 26 Ene 2012 11:52 pm
vale me podes explicar que de jquery no eh estudiado mucho y necesito eso para lograr terminar un script que estoy haciendo en php...

Saludos.!

Por js_toni

93 de clabLevel



Genero:Masculino  

programar

firefox
Citar            
MensajeEscrito el 26 Ene 2012 11:53 pm
vale me podes explicar que de jquery no eh estudiado mucho y necesito eso para lograr terminar un script que estoy haciendo en php...

Saludos.!

Por js_toni

93 de clabLevel



Genero:Masculino  

programar

firefox
Citar            
MensajeEscrito el 27 Ene 2012 10:58 am
Las funciones setInterval y setTimeout son funciones de javascript puro, busca en google unos tutoriales de como usarlos. Creo yo que algo así es lo que quieres hacer:

Código Javascript :

// suponiendo que usas jQuery 1.7+
      $(document).on("ready", function(){
         
         var outid1 = setTimeout(function(){
            $("#id1").fadeOut("slow");
         }, 5000);
         var outid2 = setTimeout(function(){
            $("#id2").fadeOut("slow");
         }, 5000);
         $("#id1, #id2").on("mouseover", function(){
            clearTimeout(eval("out"+$(this).attr('id')+";"));
         });
         
      });

El problema que con ese código que te he pasado si pasas el mouse por uno y luego por el otro ninguno desaparecerá pero puedes hacer que cuando pase el mouse por uno el otro desaparezca:

Código Javascript :

      $(document).on("ready", function(){
         
         var outid1 = setTimeout(function(){
            $(".desaparecer #id1").fadeOut("slow");
         }, 5000);
         var outid2 = setTimeout(function(){
            $(".desaparecer #id2").fadeOut("slow");
         }, 5000);
         $(" .desaparecer #id1, .desaparecer  #id2").on("mouseover", function(){
            $(".desaparecer").find("div").off("mouseover");
            $(".desaparecer").find("div:not([id="+$(this).attr('id')+"])").fadeOut("slow");
            clearTimeout(eval("out"+$(this).attr('id')+";"));
         });
         
      });

Este es el más eficiente para mi, lo único que cambia es que las divs (o el tag que uses) con las ids tendrás que meterlas dentro de otra div cuya class sea ".desaparecer"

Por Night~

43 de clabLevel



Genero:Masculino  

Geek, Gamer, Otaku

chrome
Citar            
MensajeEscrito el 27 Ene 2012 11:47 am
osea que toy haciendo algo tipo menu dijamos asi....

[img=http://k06.kn3.net/40654637C.jpg]
http://k06.kn3.net/40654637C.jpg

el primer script lo hace bien la primera vez desaparece los dos pero cuando intento la segunda no lo hace...

y el segundo script cuando paso el mouse por arriba del #div1 se cieera el #div2 y no vuelve abrir :/

para abrir el submenu uso simple javascipt

onmouseover="document.getElementById('open').style.display='block';document.getElementById('open1').style.display='block'"

se que el menu se puede hacer por lista y hacer facil que despliegue pero en este caso no lo quiero hacer de ese modo por hay van actualizar algunas cositas, por eso recurro hacer esta funcion si no encuentro solucion que mas hacerlo de modo normal...

Saludos!

Por js_toni

93 de clabLevel



Genero:Masculino  

programar

firefox
Citar            
MensajeEscrito el 27 Ene 2012 02:29 pm
Prueba así:

Código Javascript :

      $(document).on("ready", function(){
         
         var outid1 = setTimeout(function(){
            $("#id1").fadeOut("slow");
         }, 5000);
         var outid2 = setTimeout(function(){
            $("#id2").fadeOut("slow");
         }, 5000);
         $("#id1, #id2").on("mouseover", function(){
            clearTimeout(eval("out"+$(this).attr('id')+";"));
         });
         $("#id1, #id2").on("mouseout", function(){
         outid1 = setTimeout(function(){
            $("#id1").fadeOut("slow");
         }, 5000);
         outid2 = setTimeout(function(){
            $("#id2").fadeOut("slow");
         }, 5000);
         });
         
      });

Por Night~

43 de clabLevel



Genero:Masculino  

Geek, Gamer, Otaku

chrome

 

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