PDA

Ver la versión completa : Problemas para cambiar de estilo mediante JavaScript



Danilo51
19-06-2009, 12:14
Buenas gente hoy vengo con un problemita nuevo. Estoy intentando hacer un menú, que cuando cliques sobre él cambie el color de fondo, de texto y que mantenga ese estado hasta que no se clique otro punto de menú.

Os cuento como procedo:
Código html de inclusión del archivo .js que me va a cambiar los colores.


<script type="text/javascript" src="../css/funciones.js" ></script>


Código html del menú, :


<div id="ddtopmenubar" class="mattblackmenu">
<ul id="bloque">
<li><a href="../inicio/inicio.asp" onClick="cambiarColores()">Inicio</a></li>
<li><a href="../empresa/empresa.asp">Empresa</a></li>
<li><a href="../localizacion/localiza.asp">Localizaci&oacute;n</a></li>
<li><a href="../productos/productos.asp">Productos</a></li>
<li><a href="../disamed/disamed.asp">Dise&ntilde;o a medida</a></li>
<li><a href="../calidad/calidad.asp">Calidad</a></li>
<li><a href="../contacto/contacto.asp">Contacto</a></li>
</ul>
</div>


Código del .js


function cambiarColores(){
var lista=document.getElementById('bloque');
alert("hola estoy encima");
alert('La cantidad de hijos del nodo div es: ' + lista.childNodes.length);
//cambiando colores
lista.childNodes[0].style.color='#ff0000';
lista.childNodes[1].style.color='#00ff00';
lista.childNodes[2].style.color='#0000ff';

}


En las pruebas iniciales, estoy tratando de ver si recojo, todos los subnodos de un elemento.

Para ello he intentado hacer referencia al id "ddtopmenubar" de la capa en la función y me devuelve 3 nodos y digo yo esto no va bien...(probado en mozilla)

Intento la operación en IE y me devuelve 1 nodo aún peor pienso yo..

Intento refenciarme sobre el UL, le asigno un id para probarlo y resulta que en mozilla me paren 15 nodos... y curiosamente en IE me aparecen los siete puntos del menú pero no me cambia el estilo.

Qué se me está escapando??
Si necesitáis algo más del código comentármelo.

Un saludo.

P.D.: Socorro Kaos!!:p

KaoS
20-06-2009, 11:57
Jajaja, buenas Danilo, mira para hacer estas pruebas yo siempre uso Firebug (el plugin de Mozilla, que es mi angel de la guarda). De todos modos, yo hace tiempo que no trabajo con los Childnodes, pásame si puedes una URL donde pueda toquetear a ver si encuentro el fallo,¿vale?

Venga fiera un abrazo!

Danilo51
22-06-2009, 12:02
Buenas Kaos,
Todabía no está colagada la página. Hasta que no solucione todos los temas no me dejan subirla :p.

Pero si quieres te puedo pasar los fuentes para que les eches un vistazo si quieres.

Me imagino que tendremos que hacerlo por privado, ya que por temas de e-mails no puedo/debo publicarlo por este canal, o como te lo paso??

Un saludo.