Foros del Web » Programando para Internet » Javascript »

Como mostrar elemento si el mosue se mueve por encima de él yOcultarlo si no se mueve

Estas en el tema de Como mostrar elemento si el mosue se mueve por encima de él yOcultarlo si no se mueve en el foro de Javascript en Foros del Web. Hola amigos, bueno, he buscado por la web y no he encontrado algo que me pueda ayudar. Quisiera pedirles porfavor como puedo mostrar un elemento ...
  #1 (permalink)  
Antiguo 08/02/2011, 20:54
 
Fecha de Ingreso: septiembre-2010
Mensajes: 26
Antigüedad: 13 años, 6 meses
Puntos: 1
De acuerdo Como mostrar elemento si el mosue se mueve por encima de él yOcultarlo si no se mueve

Hola amigos, bueno, he buscado por la web y no he encontrado algo que me pueda ayudar.
Quisiera pedirles porfavor como puedo mostrar un elemento "elem1" si el mouse se mueve encima de un elemento de nombre "elem2", y ocultar "elem1" luego de un tiempo por ejemplo 2 segundos después de que el mosue deja de moverse sobre elem2 .
Talvez me puedan ayudar esto con jQuery y gracias por la ayuda!!!!!
  #2 (permalink)  
Antiguo 08/02/2011, 20:59
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Como mostrar elemento si el mosue se mueve por encima de él yOcultarlo si

Primero que todo, el elemento no podés ocultarlo con display:none, lo tenés que hacer con visibility:hidden. Luego es simple:

con jquery:

Código HTML:
Ver original
  1. <div id="midiv" style="visibility:hidden"></div>

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3.     $("#midiv").mouseover(function(){
  4.            $(this).css('visibility', 'visible');
  5.     });
  6.  
  7.     $("#midiv").mouseout(function(){
  8.            $(this).css('visibility', 'hidden');
  9.     });
  10. });
  11. </script>
  #3 (permalink)  
Antiguo 08/02/2011, 21:10
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Como mostrar elemento si el mosue se mueve por encima de él yOcultarlo si

Perdón, mala interpretación del problema XD:

con jquery:


Código HTML:
Ver original
  1. <div id="midiv1" style="width: 200px;height:200px;background:#ff1188"></div>
  2. <div id="midiv2" style="display:none;width: 200px;height:200px;background:#ff0044"></div>


Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3.     unbindAndBind($("#midiv1"), $("#midiv2"));
  4. });
  5.  
  6.  
  7. function unbindAndBind(obj1, obj2) {
  8.     $(obj1).unbind("mouseover");
  9.     setTimeout(function(){
  10.          $(obj1).mouseover(function(){
  11.            $(this).hide();
  12.            $(obj2).show();
  13.            unbindAndBind(obj2, obj1);
  14.          });
  15.      }, 2000);
  16. }
  17. </script>
  #4 (permalink)  
Antiguo 08/02/2011, 21:19
 
Fecha de Ingreso: septiembre-2010
Mensajes: 26
Antigüedad: 13 años, 6 meses
Puntos: 1
De acuerdo Respuesta: Como mostrar elemento si el mosue se mueve por encima de él yOcultarlo si

Cita:
Iniciado por walterdevel Ver Mensaje
Wuau,
Amigo, pero como haria para no ocultar "elem2" o "midiv2" ques donde se va ha mover el mouse, solo quiero ocultar el "elem1", un bosqueko o guia seria por ejemplo un reproductor de video, mueves el mouse encima del video y se muestra el panel de controles, y cuando dejaas de moverlos, para un ratito y se oculta el panel de controles.
De antemano muchas gracias por la ayuda.
saludos.
  #5 (permalink)  
Antiguo 08/02/2011, 22:11
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Como mostrar elemento si el mosue se mueve por encima de él yOcultarlo si

Ahí vá lo solución posta XD

Código HTML:
Ver original
  1. <div id="midiv1" style="width: 200px;height:200px;background:#ff1188">
  2.  
  3. <div id="midiv2" style="display:none;width: 50px;height:50px;background:blue">
  4. </div>
  5.  
  6. </div>

Código Javascript:
Ver original
  1. mouseisover = false;
  2. $(document).ready(function(){
  3.  
  4.     $("#midiv1").mouseover(function(){
  5.         if($("#midiv2").is(":hidden")) {
  6.             $("#midiv2").fadeIn(300);
  7.             mouseisover = false;
  8.         }
  9.     }).mouseout(function(){
  10.         if($("#midiv2").is(":visible") && mouseisover == false) {
  11.             setTimeout(function(){
  12.                 if(mouseisover == false)
  13.                     $("#midiv2").fadeOut(300);
  14.             }, 2000);  
  15.         }
  16.     });
  17.    
  18.     $("#midiv2").mouseover(function(){
  19.             mouseisover = true;
  20.     }).mouseout(function(){
  21.         if($("#midiv2").is(":visible")) {
  22.             $("#midiv2").fadeOut(300);
  23.             mouseisover = false;
  24.         }
  25.     });
  26. });

Etiquetas: encima, mueve
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 10:40.