Foros del Web » Programando para Internet » Javascript »

Script que no funciona en Fire Fox

Estas en el tema de Script que no funciona en Fire Fox en el foro de Javascript en Foros del Web. Saludos maestros, he aquí mi cuestión. Dese hacer un menú desplegale y enrrollable, si ya se, hay mucho script por ahí, pero decidí hacer lo ...
  #1 (permalink)  
Antiguo 11/07/2008, 13:24
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 9 meses
Puntos: 22
Script que no funciona en Fire Fox

Saludos maestros, he aquí mi cuestión.

Dese hacer un menú desplegale y enrrollable, si ya se, hay mucho script por ahí, pero decidí hacer lo más posible por mi cuenta para entender el proceso.

Después de tomar pedazos de otros códigos, analizarlos, modificar, cambiar, cortar, hechar a perder para luego tener que reparar, el script está cási como deseo, sin embargo, aunque funciona sin probelmas en IE en Firefox ni se mosquea el desgraciado

La lógica es la siguiente:

1.- Las opciones secundarias de cada opción principal primero estan ocultas utilizando una clase CSS con visibilidad "none".

2.- Al hacer click encima de una de las opciones principales se llama a una función de JavaScript (abrir), que funciona de la siguiente manera:

i. Cierra todas las opciones principales y luego abre la opción "clickeada".

ii. Si la opción "clickeada" esta abierta, la cierra.

Pueden ver la prueba en el siguiente enlace:

www.finred.com.mx/menu/

Se darán cuenta que con IE funciona bien, pero con FF no, ya le he estado dando vueltas y no le busco, agradezaco desde ahora cualquier ayuda.


Saludos.

Todo el código JavaScript y las clases CSS que muestran y ocultan las opciones estan en la misma página, basta con ver el código fuente, de todas formas las pongo continiación:

Clases CSS para mostrar y ocultar:
Cita:

.hidden {
display:none;
}

.show {
display:block;
}

Función abrir:

Cita:
function abrir(nombre) {
//Elemento "clickeado"
elemento = document.getElementById(nombre);

//Si el elemento ya estaba abierto entonces simplemente lo cerramos...
if(elemento.className == "show") {
elemento.className = "hidden";
return false;
} else {

//Si el elemento no estaba abierto entonces cerramos todos y posteriomente lo abrimos...

//Elementos que ocultaremos
elementos = new Array("clase_1","clase_2","clase_3","clase_4");

//Ocultando
for(i=0;i<elementos.length;i++) {
elemento_normal = document.getElementById(elementos[i]);
elemento_normal.className = "hidden";
} //for

//Mostrando el elemento "clickeado"
elemento.className = "show"; //Si estaba oculto entonces se muestra
return false;

} //else
} //function

Menú:

Cita:
<a href="#" class="clase_1" onclick="return abrir(this.className);">Elemento uno</a>
<div id="clase_1" class="hidden">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
<!--posicionado-->
</div>
<br>
<a href="#" class="clase_2" onclick="return abrir(this.className);">Elemento dos</a>
<div id="clase_2" class="hidden">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
<!--posicionado-->
</div>

<br>
<a href="#" class="clase_3" onclick="return abrir(this.className);">Elemento tres</a>
<div id="clase_3" class="hidden">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
<!--posicionado-->
</div>

<br>
<a href="#" class="clase_4" onclick="return abrir(this.className);">Elemento cuatro</a>
<div id="clase_4" class="hidden">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Opcion</a><br>
<!--posicionado-->
</div>
  #2 (permalink)  
Antiguo 11/07/2008, 14:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Exclamación Respuesta: Script que no funciona en Fire Fox

Ni te imaginas que el error está aquí. No te preocupes, también tuve que analizar mucho para descubrirlo. Cambia esto:
Código PHP:
<script language="JavaScript" type="text/jscript"
por esto:
Código PHP:
<script language="JavaScript" type="text/javascript"
Sucede con cualquiera .

Saludos
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 11/07/2008, 14:19
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 9 meses
Puntos: 22
Respuesta: Script que no funciona en Fire Fox

Muchísimas grácias David el Grande, la verdad estaba yo a punto del colapso, y pensar que era algo tan sencillo. Grácias nuevamente.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:09.