Foros del Web » Creando para Internet » HTML »

Eventos ommouseover y onmouseout

Estas en el tema de Eventos ommouseover y onmouseout en el foro de HTML en Foros del Web. Hola, tengo un div con los eventos ommouseover y onmouseout establecidos estos llaman a una funcion para poner efecto toggle a otro div que se ...
  #1 (permalink)  
Antiguo 16/11/2012, 00:56
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años
Puntos: 3
Eventos ommouseover y onmouseout

Hola, tengo un div con los eventos ommouseover y onmouseout establecidos estos llaman a una funcion para poner efecto toggle a otro div que se abre dentro del div padre, todo ya esta hecho.

Solo que al pasar el mouse sobre el div hijo(efecto toogle) este desaparece por que el div padre ya no tiene el mouse sobre el.

Lo que quiero hacer es que aunque el mouse este sobre el div hijo este no desaparesca, que mi el div padre no llame al onmouseout, por que el mouse esta sobre el div hijo que esta dentro del div padre.
  #2 (permalink)  
Antiguo 16/11/2012, 01:35
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Eventos ommouseover y onmouseout

Normalmente si tienes el mouse encima del elemento hijo, sigue estando encima del elemento que lo contiene. Ahora, normalmente deja de ocurrir cuando el elemento hijo está posicionado fuera del flujo natural del HTML y por lo tanto deja de ser hijo del elemento padre.
  #3 (permalink)  
Antiguo 16/11/2012, 01:44
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años
Puntos: 3
Respuesta: Eventos ommouseover y onmouseout

hoooo si esta fuera del flujo el elemento, el hijo tiene la propiedad: position:absolute;

que puedo hacer??

Gracias por la respuesta muy buena por cierto.
  #4 (permalink)  
Antiguo 16/11/2012, 01:50
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Eventos ommouseover y onmouseout

La solución depende de qué quieres hacer exactamente. Quiero decir, por un lado puede ser que no necesites posicionar de forma absoluta al hijo, se arreglaría la cosa con algo de CSS y así puedes mantener lo que quieres hacer como lo tienes. En cambio sino queda otra habría que mirar si con jQuery —supongo que usarás jQuery— se pudiera solucionar de otra forma.
  #5 (permalink)  
Antiguo 16/11/2012, 02:00
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años
Puntos: 3
Respuesta: Eventos ommouseover y onmouseout

si efectivamente uso jQuery y si se puede solucionar con CSS mejor mi estructura esta asi mas omenos

<div id="padre">

<div id="hijo">lo que se esta mostrando</div>


<img src="imagen" >

</div>


el div hijo sale sobre la imagen para eso uso el position:absolute para que al mostrar el div hijo salga por arrbiba de la imagen el div hijo tiene tambien display:none y al usar el toggle de jquery se muestra solo y como el positio esta en absolute se muestra encima del img
  #6 (permalink)  
Antiguo 16/11/2012, 02:09
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años
Puntos: 3
Respuesta: Eventos ommouseover y onmouseout

y lo que quiero hacer es presisamente lo que ya esta, que el div hijo se muestre al posicionar el mouse sobre el div padre, pero al pasarlo sobre el div hijo que no es hijo que no desaparezca a causa del onmouseout, y claro que salga sobre el img pero dentro del div padre ya que en realidad tengo un menu de div padres, pero haciendolo para uno funciona para todos.
  #7 (permalink)  
Antiguo 16/11/2012, 02:16
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Eventos ommouseover y onmouseout

¿Lo tienes subido en algún sitio? Para mirarlo, es que leo y releo y se ve que estoy espeso.
  #8 (permalink)  
Antiguo 16/11/2012, 02:20
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años
Puntos: 3
Respuesta: Eventos ommouseover y onmouseout

http://tshirtkingdom.16mb.com/

sip.
  #9 (permalink)  
Antiguo 16/11/2012, 02:55
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Eventos ommouseover y onmouseout

Si es más fácil solucionarlo con CSS y yo descartaría usar jQuery.

La idea es darle un ancho fijo al elemento A. También podría hacerse con otro elemento, pero bueno. A tendría una posición relativa, y un elemento SPAN una posición absoluta, un left negativo que sea igual al ancho que tenga SPAN. Para el movimiento, habría que poner a SPAN el atributo transition.

Luego con un a:hover span se le da a left un valor de 0.

Código HTML:
Ver original
  1. <a href="/playera">
  2.   <img src="playera.png">
  3.   <span>100</span>
  4. </a>

Código CSS:
Ver original
  1. a {
  2.   position: relative;
  3.   display: block;
  4.   width: 200px;
  5.   overflow: hidden; /* para ocultar el precio */
  6. }
  7.  
  8. span {
  9.   position: absolute;
  10.   top: 0;
  11.   left: -80px;
  12.   display: block;
  13.   width: 80px;
  14.   transition: left .5s ease;
  15. }
  16.  
  17. a:hover span {
  18.   left: 0;
  19. }

He puesto un ejemplo funcional aquí: http://jsfiddle.net/AZbfa/
  #10 (permalink)  
Antiguo 16/11/2012, 03:57
 
Fecha de Ingreso: abril-2008
Mensajes: 316
Antigüedad: 16 años
Puntos: 3
Respuesta: Eventos ommouseover y onmouseout

jeje muchisimas gracias quedo muy bien y muchisimo mejor. =)

Etiquetas: eventos, onmouseout
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:18.