Ver Mensaje Individual
  #237 (permalink)  
Antiguo 21/06/2006, 22:34
bertoski
 
Fecha de Ingreso: mayo-2006
Mensajes: 11
Antigüedad: 17 años, 10 meses
Puntos: 0
238.- Links que cambian de color cuando se pasa el puntero sobre ellos

P: ¿Como puedo hacer que los links de mi menu cambien de color cuando se les pase el puntero por encima?

R: Estas funciones logran que cuando se pase el puntero por encima de los links cambien de color, cuando se hace un click sobre uno cambie a un tercer color solo por un momento para resaltar el click y que el ultimo que ah sido clickeado quede como "activo" (el color queda fijado sobre el) hasta que se haga click en otro y el otro quede como "activo", ademas si hay uno "activo" y se pasa el puntero sobre otro link pasa a estar como "inactivo" mientras se mantenga el puntero sobre otro link, si no se hace click sobre ningun otro vuelve a estar "activo" una vez que el puntero no esta sobre ningun otro link.

Head:
Código:
function configurarcolor(colorcambio,colorclick,inicial){
if(inicial == "no"){
    nombrem = "";
}else{
    nombrem = inicial;
}
coloran = "";
colorca = colorcambio;
colorc = colorclick;
}
 
function cambiarcolor(nombre, mantener){
font = document.getElementById(nombre);
if(nombre != nombrem){
    if(coloran == ""){
    coloran = font.style.color;
    }
    if(mantener != "mantener"){
        if(nombrem == ""){
            if(font.style.color == coloran){
                font.style.color = colorca;
            }else{
                font.style.color = coloran;
            }    
        }else{
            fontm = document.getElementById(nombrem);
            if(font.style.color == coloran){
                fontm.style.color = coloran;
                font.style.color = colorca;
            }else{
                fontm.style.color = colorca;
                font.style.color = coloran;
            }            
        }
    }else{
        nombrem = nombre;
    }
}else{
fontm = document.getElementById(nombrem);
fontm.style.color = colorca;
}
}
 
function colorclick(nombre){
font = document.getElementById(nombre);
if(font.style.color == colorca){
font.style.color = colorc;
}else{
font.style.color = colorca;
}
}
Body:
colordecambio es el color que van a tener los links cuando se pasa el puntero sobre ellos, colorenclick es el color "momentaneo" que tienen cuando se les hace click y idlink es opcional, sirve para tener uno como "activo" cuando se carga la pagina.
Código:
<body onLoad='configurarcolor("colordecambio","colorenclick","idlink");'>
Links:
Los links deben llevar el color de "desactivado" en style="color:#color", si se eligio un link para que aparezca como activo se debe usar en el link que se eligio el "colordecambio" que se declaro en body.
Código:
<a id="ejemplo" style="color:#FFFFFF;" onMouseOver="cambiarcolor('ejemplo');" onMouseOut="cambiarcolor('ejemplo');" onClick="cambiarcolor('ejemplo','mantener');" onMouseDown="colorclick('ejemplo');" onMouseUp="colorclick('ejemplo');" href="ejemplo.html">Ejemplo</a>
Para sacar el Pre-Formato que tienen los links se puede usar esto, debe ir en head:

Código:
<style type="text/css">
A{
text-decoration: none;
}
</style>
Espero que sea de utilidad, si tienen algun comentario o pueden mejorar el codigo haganmelo saber.Suerte.

Berto.