entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

onMouseOver eventos

Necesito ayuda de la familia, mi objetivo es el siguiente: tengo un Div que tiene una imagen o unos colores asignados vale? Entonces onMouseOver quiero que esos colores cambien y onMouseOut quiero que vuelva a como estaba originariamente. También quiero, el próximo paso, que onMouseOver ese div concreto se muestre otro div que va a contener texto e información.

He intentado con algo así:

<script type="text/javascript">
  function draw(col,objeto)
  {
    objeto.bgColor=col;
  }
</script>
<div id="limpiezapro" onmouseover="draw('#FFF',this)" onmouseout="draw('00F',this)">Testing DIV changing colour
</div>

En realidad para hacer lo que quiero hacer debería hacer una función que fuera drawandshow que cambiara el color o mostrara imagen (todavía está por ver) y después de eso mostrara un div nuevo cambiando la propiedad de display none a display block o algo así.

El tema es que no funciona, sin embargo si hago esto:

<div id="limpiezapro" onmouseover="javascript:alert('boo');" onmouseout="draw('00F',this)">Testing DIV changing colour
</div>

Sí funciona y muestra la alerta....

Me podéis ayudar?

SaludoS!

1 Respuesta

1voto

ankeorum Puntos7210

Disculpad el multiposting pero he solucionado mi problema utilizando la asignación del estilo en el propio evento:

<div id="limpiezapro" onmouseover="this.style.background='#FFF';limpiezaprotext.style.display='block';" onmouseout="this.style.background='green';limpiezaprotext.style.display='none';">

Con ese código consigo que cambie el estilo como quiero y que además se muestre otro div y se oculte cuando dejamos de pasar por encima.

0voto

Leonardo-Tadei comentado

Hola ankeorum,

veo tu respuesta, pero a priori, no habría ningún problema en encapsular lo que hace el onmouseover en una función y lo que hace el onmouseout en otra, en vez de tener tanto código en la llamada.

Podrías pasar el código de cada evento a una función y hacer la llamada, con la única salvedad de que un parámetro de la función tiene que ser this para saber sobre quién opera.

Es el mismo código, pero queda mejor estructurado y más fácil de extender.

Saludos!

0voto

ankeorum comentado

Leonardo buenos días, intenté encapsularlo en funciones para que todo fuera más claro y simplemente llamar a la función cada vez que me hiciera falta pero no me sirve, utilizando funciones no funciona (redundante...)

0voto

Leonardo-Tadei comentado

Hola ankeorum,

pasanos el código con las funciones a ver qué les pasa: debe ser algún detalle técnico por lo que no funciona.

Tal vez sea bueno ponerle en una nueva pregunta, así hay más aportes.

Saludos!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta