Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Javascript > nuevo layer al pasar por un link
-Foros de debate

Javascript
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

nuevo layer al pasar por un link
Enviado por pontxld el día 13 de abril de 2005

Hola gente,
Siento estar todos los dias con una nueva duda, pero soy nueva en esto y mis practicas dependen de ello. Me han dicho ahora que saque el efecto que aparece en esta pagina cuando pasas por los links que hay en el texto: http://www.k-hardware.de/news.php?s=&news_id=3...
He estado mirando por aqui y otras partes y la verdad que no se me ocurre y viendo el codigo del que haya hecho la pagina tampoco veo la luz, asi que si alguien puede ayudarme estare eternamente agradecida, y si al final lo descubro yo pondre la solucion, no preocuparse.
Gracias por adelantado,
Un saludito!

 
Re: nuevo layer al pasar por un link
Enviado por pontxld el día 13 de abril de 2005

Perdon, de hecho no son links, es el texto que esta rojo en el texto, que abre un nuevo layer al pasar por encima, cada vez estoy mas perdida... :S

 
Re: Re: nuevo layer al pasar por un link
Enviado por Jorge el día 13 de abril de 2005

Te equivocas, lo cierto es que si son links, pero bueno, eso es lo de menos.

La verdad es que es una funcionalidad interesante la que aparece en esa pagina.

Si te quieres limitar a que aparezca el cuadro explicativo al posicionar el puntero encima de algun elemento, la idea geneal es, mas o menos, sencilla.

Tienes que crear los cuadros explicativos como capas. Les das un identificador unico a cada uno, el valor "hidden" a la propiedad "visibility", y el valor "absolute" a la propiedad "position". Debes indicar propiedades "top" y "left", aunque no importa que valores les des porque se modificaran luego en tiempo de ejecucion. Ademas pondras propiedades "width", "height" especificando tamaño del cuadro y cualquier otra que desees para fijar su aspecto (colores, tipo y estilos de fuentes, cursor, etc).

Digamos que la cosa seria algo asi:
<div id="capa1" style="visibility:hidden; position:absolute; top:0px; left: 0px; width:80px; height:100; background-color: rgb(234,234,234);">
Contenido del cuadro explicativo.
</div>


Ahora para cada elemento que debe tener asociado uno de estos cuadros explicativos tienes que gestionar sus eventos onMouseOver, para mostrar el cuadro explicativo, y onMouseOut, para ocultarlo.

Digamos que la cosa seria algo asi:
<span onMouseOver="showDiv(1)" onMouseOver="hideDiv(1)">palabra con explicacion</span>

El argumento de los gestores de evento showDiv y hideDiv sirven, como te puedes imaginar, para identificar cual cuadro hay que mostrar u ocultar.


La funcion "showDiv" obtiene gracias al parametro una referencia a la capa.
A esa capa le asigna unas coordenadas a traves de las propiedades "top" y "left", y la hace visible cambiando el valor de la propiedad "visibility" a "visible".

Digamos que la cosa seria algo asi:
function showDiv(numDiv) {
var cuadro = document.getElementById("capa"+numDiv);
with (cuadro.style) {
top = document.body.scrollTop + 40;
left = 50;
visibility = "visible";
}
}


La funcion "hideDiv" obtiene gracias al parametro una referencia a la capa.
Simplemente oculta esa capa asignando el valor "hidden" a su propiedad "visibility".

Digamos que la cosa seria algo asi:
function hideDiv(numDiv) {
var cuadro = document.getElementById("capa"+numDiv);
cuadro.style.visibility = "hidden";
}



El codigo que he puesto esta muy simplificado, los cuadros siempre aparecen en la misma posicion, no he tenido en cuenta posibles variantes segun navegador (yo uso IE), etc...



Espero, no obstante, que te haya servido de ayuda. Y en tal caso no es necesario que me estes eternamente agradecida.
Con que lo estes dos o tres centenares de años sera suficiente... ;-p

 
Re: Re: Re: nuevo layer al pasar por un link
Enviado por Jorge el día 13 de abril de 2005

Nota:: para marcar los elementos que tienen cuadro explicativo asociado he empleado etiquetas "span" por ser las mas neutras e inocentes, pero podrian ser cualquie cosa... enlaces, celdas de tablas, titulos, lo que sea...
Lo importante es asociar a los elementos las funciones "showDiv" y "hideDiv" a sus eventos
"onMouseOver" y "onMouseOut" respectivamente.
Por ejemplo esto tambien valdria
<b onMouseOver="showDiv(1)" onMouseOut="hideDiv(1)">ver cuadro</b>

Aunque, si quieres que esos elementos tengan un aspecto especial determinado, lo suyo seria asignarles una clase y definir atributos para esa clase.


Fe de erratas: En el post anterior donde pone
onMouseOver="hideDiv
debe poner
onMouseOut="hideDiv

Inconvenientes de abusar del copy&paste :-D

 

Re: Re: Re: nuevo layer al pasar por un link
Enviado por pontxld el día 14 de abril de 2005

Muchas gracias Jorge, voy a mirar si me sale y sino pues dare un poco mas la txapa para encontrar soluciones.
Agur!

 
Re: Re: Re: Re: nuevo layer al pasar por un link
Enviado por pontxld el día 14 de abril de 2005

bueno, bueno, bueno... funciona en mozilla pero no en el explorer, ya empezamos! en fin ya haremos algo, jejeje

 
Re: Re: Re: Re: Re: nuevo layer al pasar por un link
Enviado por pontxld el día 14 de abril de 2005

Pues ala, parece que hago monologos... ya funciona, era un problema de seguridad del explorer, asi que esta hecho! graciassssssssss

 
Re: Re: Re: Re: Re: Re: nuevo layer al pasar por un link
Enviado por Jorge el día 14 de abril de 2005

De nada.

 
Re: Re: Re: Re: Re: Re: Re: nuevo layer al pasar por un link
Enviado por pontxld el día 15 de abril de 2005

bueno, y si quiero ponerlo en la esquina inferior derecha tendria que cambiar lefto por right y top por bottom?document.body.scrolltop tambien? Son caprichosos los ninios y no consigo ponerlo ahi

 

Re: Re: Re: Re: Re: Re: Re: nuevo layer al pasar por un link
Enviado por pontxld el día 15 de abril de 2005

autorespondido me he, asi que ya se que si, que cambiar top por bottom y right por left y listo.

 
Hola......... nuevo layer al pasar por un link
Enviado por sheybarw el día 19 de mayo de 2006

Hola estoy interesado en este tema de layer al pasar por link pero la verdad no lo entendi muy bien podrias hacerme el favor de explicar en ke instancias va es decir si va entre head si es un javascript y o si va en el body ke pena la pregunta Gracias

 









Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network