Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/07/2002, 07:30
Avatar de Wakkos
Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 23 años, 5 meses
Puntos: 59
Re: Script para capas

Claro, no soy muy bueno en esto, pero cundo uno quiere definir un estilo por medio de un script y que ese estilo sea campatible con ambos, hacemos el condicional:

Si quiero definir digamos, el color de fondo de una capa:
Código:
document.getElementById(nombrecapa).style.backgroundColor = color;
Pero eso solo funciona en IE!
Y que hacemos para Shitscape?
Esto funciona para shitscape:
Código:
document.all[nombrecapa].style.backgroundColor = color;
Claro, uno funciona para IE y el otro para Shitscape. Hay que buscar una manera que detecte cual navegador es y que imprima la sentencia correcta!!

Entonces le decimos que si es IE imprima getElementById, o si es netscape, que imprima document.all

Si no me equivoco, eso se llaman bifurcaciones (condicionales, en mi tierra)

Entonces el script completo sería algo como:

function hiLight(name, color) {
if (document.getElementById) {
document.getElementById(nombrecapa).style.backgrou ndColor = color;
} else
if (document.all) {
document.all[nombrecapa].style.backgroundColor = color;
}
}

Y luego en el body de la página hay que definir la capa:
<div ID=hola style="width:0px;">hola</div>

Claro, y un link que haga que cambie de color:
a href="#" onmouseover="hiLight('hola','red');" onmouseout="hiLight('hola','white');"&gt ;cambia a rojo la capa</a>

Al pasar el mouse sobre este link, hará que la capa 'hola' cambie su background a rojo, y al quitar el mouse, cambiará a blanco.

Tam,bién lo puedes hacer con el link mismo si agregas el nombre al link:
<a href="#" onmouseover="hiLight('hola','red');" onmouseout="hiLight('hola','white');" name=hola >cambia a rojo este link</a>

Recuerda que cada nombre debe ser único!! o el script tomará el primero únicamente....

Creo que a pesar de no ser yo el más indicado para explicar esto (soy un novato en JS y todo esto) con esto tienes para darte cabezazos un rato! =)