Mostrar y ocultar información en una capa al pasar el ratón

El otro día me llegó un mail de una persona que me pedía ayuda para poder hacer una función javascript que le permitiera mostrar y ocultar información en una capa cuando ponía el ratón sobre ella o no (respectivamente)

Para ello, desde mi punto de vista, se puede hacer con el método innerHTML, que no es muy querido por algunos debido a su implicación con Microsoft, pero para nuestro ejemplo nos servirá perfectamente.

Lo primero será crearnos la capa en la cual cambiaremos el contenido cuando pasemos el ratón.

<div id="nombre_capa" ></div>

Lo siguiente será crearnos el elemento que provocará, al pasar sobre él, que se muestre u oculte la información:

<img src="imagen.jpg" onmouseover="javascript:mostrar()" onmouseout ="javascript:ocultar()" />

Ahora crearemos ambas funciones javascript que utilizando el método innerHTML modificarán el contenido de la capa “nombre_capa”


<script language="JavaScript">

function mostrar() {
nombre_capa.innerHTML="Texto a mostrar";
}
function ocultar() {
capa.innerHTML=""
}

</script>

Y con esto ya tenemos montado un sistema sencillo para mostrar / ocultar texto en una capa al pasar el ratón por cualquier elemento de nuestra página.


Comparte este artículo

rss delicious meneame technorati webeame bitacoras enchilame fresqui google reddit

Temas relacionados


 

Trackbacks / Pingbacks


15 Comentarios

Deja un comentario


Autor    EvItA dice:

Email de una persona??? Quizá me equivoque pero, esa persona es familiar tuyo????

Escrito el 28/08/08 a las 08:35:04 (#1) ( responder)

Autor    Emilio dice:

Ummm no, ¿por qué lo dices?

Escrito el 28/08/08 a las 09:16:50 (#2) ( responder)

Autor    Deiiiviiii dice:

Pues si, putas capassssssssssssssssssssssssssssss :)

Escrito el 28/08/08 a las 09:58:36 (#3) ( responder)

Autor    Emilio dice:

Jajaja es lo mejor para maquetar una página… :p

Escrito el 28/08/08 a las 10:03:58 (#4) ( responder)

Autor    EvItA dice:

Jajajajajajajaajajajajajajaajajajajajaja.

Escrito el 28/08/08 a las 13:52:00 (#5) ( responder)

Autor    Emilio dice:

:)

Escrito el 28/08/08 a las 14:39:11 (#6) ( responder)

Autor    ScriptShow dice:

Para los aficionados al fade-effect, podemos mostrar y ocultar capas, imágenes, etc. con éste sencillo script. Lo construí como “reto” que, con 1Kb. se puede hacer lo mismo que hacen los desarrollos mastodónticos: Mootools, JQuery, y otras JS-Libraries.

<script language=”javascript” type=”text/javascript”>
<!–
opac=0
goIn=null

function fade(dir){
if(document.all){document.all(”fadimg”).filters.alpha.Opacity=opac}
if(document.getElementById && !document.all){document.getElementById(”fadiv”).style.MozOpacity=(opac/100)-0.01}
if(document.getElementById && !document.all){document.getElementById(”fadiv”).style.KHTMLOpacity=(opac/100)-0.01}
if(document.getElementById && !document.all){document.getElementById(”fadiv”).style.opacity=(opac/100)-0.01}
if(dir==1 && opac=0){opac=opac-2} else{clearTimeout(goIn)}
goIn=setTimeout(”fade(’” + dir + “‘)”, 10)
}
// –>
</script>

<a href=”#” onmouseover=”fade(’1′)” onmouseout=”fade(’0′)”>EFECTO</a>

<div id=”fadiv” style=”filter:alpha(Opacity=0);-moz-opacity:0;-khtml-opacity:0;opacity:0;visibility:visible”>A Q U I E L C O N T E N I D O . . .</div>

No sé si me he saltado algún detalle. Pero está muy probado: IExplorer, Firefox, Netscape, Safari, Avant, etc. ¡Vá de cine, con perdón!.

P.D.:
He improvisado una variante básica, sin apenas variables, etc. para un perfecto entendimiento.
Es la primera vez que se publica para Foros, Blogs, etc.

Escrito el 26/09/08 a las 20:22:36 (#7) ( responder)

Autor    ScriptShow dice:

El detalle es que se me olvida que el Blog bloquea las etiquetas abrir cerrar HTML; en éste caso, utilizadas como Operadores Condicionales: Mayor igual , Menor igual. El error está donde aparece:

if(dir==1 && opac=0){opac=opac-2} else{clearTimeout(goIn)}

debes sustituirlo por:

if(dir==1 && opac<=100){opac=opac+2} else{clearTimeout(goIn)}
if(dir==0 && opac>=0){opac=opac-2} else{clearTimeout(goIn)}

Disculpas a todo el mundo.

Escrito el 26/09/08 a las 21:10:01 (#8) ( responder)

Autor    Emilio dice:

Interesante la función… y lo que más me gusta es su tamaño, la verdad es que estoy contigo que mootools, jquery y demás suelen ser bastante pesadas. En cuanto tengo un ratinín me gustaría probarla.

Escrito el 26/09/08 a las 22:52:20 (#9) ( responder)

Autor    ScriptShow dice:

Con la prisa no he verificado algunos aspectos: darle tamaño al DIV, es muy importante para evitar que quede fuera el contenido; en el primer id del objeto puse (”fadimg”) y es (”fadiv”). También la interpretación que hace el Standard charset=UTF-8 de los signos, acentos, comillas, etc. Por tanto, es preciso avisar que, al copiar el script pueden haber errores. En culaquier caso, puedo envíar una copia funcinando al que la precise.

Aquí dejo la versión que hice para una Imagen.

El script:

opac=0
goIn=null

function fade(dir){
if(document.all){document.all(”fadimg”).filters.alpha.Opacity=opac}
if(document.getElementById && !document.all){document.getElementById(”fadimg”).style.MozOpacity=(opac/100)-0.01}
if(document.getElementById && !document.all){document.getElementById(”fadimg”).style.KHTMLOpacity=(opac/100)-0.01}
if(document.getElementById && !document.all){document.getElementById(”fadimg”).style.opacity=(opac/100)-0.01}
if(dir==1 && opac<=100){opac=opac+2} else{clearTimeout(goIn)}
if(dir==0 && opac>=0){opac=opac-2} else{clearTimeout(goIn)}
goIn=setTimeout(”fade(’” + dir + “‘)”, 10)
}

La imagen:

img src=”imagen.gif” alt=”Imagen” title=”Imagen” width=”200″ height=”200″ id=”fadimg” style=”filter:alpha(Opacity=0);-moz-opacity:0;-khtml-opacity:0;opacity:0;visibility:visible”

En el Foro de Informática http://foro.aesinformatica.com/index.php/topic,146.0.html está disponible el código completo.

Espero vaya todo bien.

Escrito el 27/09/08 a las 12:44:41 (#10) ( responder)

Autor    Emilio dice:

Gracias por la corrección y por postearlo en el foro, allí es más sencillo introducir código..

Escrito el 27/09/08 a las 14:46:37 (#11) ( responder)

Autor    ScriptShow dice:

Otra cosa, para los que siguen el hilo del Fade-Effect. La segunda parte del rompecabezas es animar imágenes (tamaño) con efecto progresivo, sigan en el Foro http://foro.aesinformatica.com/index.php/topic,147.0.html para acabar construyendo un Mini-Light-box, SlideShow, u otra galería de imágenes personalizada. Eso sí, de unos 4Kb. aprox. efectos incluidos. Ironías aparte; disculpen las molestias por la ortografía; y por la redirección: ufffffffff, que cansancio!. Esto de querer escribir igual (de mal) que hablo y/o pienso, ironías incluidas, esta vez sí; me pierden.

Seguiremos…

Escrito el 27/09/08 a las 19:19:59 (#12) ( responder)

Autor    Emilio dice:

Es genial que todo termine ocupando tan solo 4 kb!

Escrito el 28/09/08 a las 03:41:40 (#13) ( responder)

Autor    Jesús dice:

me gusta el minitutorial intentare seguirlo

Escrito el 28/09/08 a las 12:01:56 (#14) ( responder)

Autor    ScriptShow dice:

Me agrada saber que pueda interesar el tema. Seguiremos con él, y con otras ideas que aportéis.

Un saludo.

Escrito el 28/09/08 a las 12:41:15 (#15) ( responder)

Deja un comentario

Normas de uso
  • No insultes
  • Escribe sin faltas de ortografía
  • Si vas a contestar a alquien, utiliza el botón responder, se le avisará