Foros del Web » Programando para Internet » Javascript »

Funciona en IE pero no en FireFox

Estas en el tema de Funciona en IE pero no en FireFox en el foro de Javascript en Foros del Web. Hola a todos, Tengo un menu fabuloso. Te pones con el mouse sobre "New Releases" y te muestra el submenu, y cuando sacas el mouse ...
  #1 (permalink)  
Antiguo 15/02/2008, 05:53
 
Fecha de Ingreso: febrero-2008
Mensajes: 63
Antigüedad: 16 años, 2 meses
Puntos: 0
Funciona en IE pero no en FireFox

Hola a todos,

Tengo un menu fabuloso. Te pones con el mouse sobre "New Releases" y te muestra el submenu, y cuando sacas el mouse de ahí el submenu desaparece.
Y como digo está fabuloso y así es como lo quiero .. .pero funciona en IE y no en FireFox .. ¿por qué? ¿qué he hecho mal? Por favor, sean claros en su respueta, soy newbie

Muchas gracias de antemano!

Código HTML:

<script language="JavaScript"><!--

function show(ob) {

if (document.getElementById) {
document.getElementById(ob).style.display = 'inline-block';
}
else if (document.layers && document.layers[ob]) {
document.layers[ob].display = 'inline-block';
}
else if (document.all) {
document.all[ob].style.display = 'inline-block';
}
}

function hide(ob) {
if (document.getElementById) {
document.getElementById(ob).style.display = 'none';
}
else if (document.layers && document.layers[ob]) {
document.layers[ob].display = 'none';
}
else if (document.all) {
document.all[ob].style.display = 'none';
}
}

//--></script> 


<a id='Menu1'onmouseover='show("subMenuAlbums1");show("subMenuSingles1");show("subMenuEP1");'
onmouseOut='hide("subMenuAlbums1");hide("subMenuSingles1");hide("subMenuEP1");'
class='genrebutton' href='#'>New Releases</a><br /><div class='divmenu' id='subMenuAlbums1' onmouseover='show("subMenuAlbums1");show("subMenuSingles1");show("subMenuEP1");'
onmouseOut='hide("subMenuAlbums1");hide("subMenuSingles1");hide("subMenuEP1");'
><a href='index.php?albums=1'>Albums</a></div><div class='divmenu' id='subMenuEP1' onmouseover='show("subMenuAlbums1");show("subMenuSingles1");show("subMenuEP1");'
onmouseOut='hide("subMenuAlbums1");hide("subMenuSingles1");hide("subMenuEP1");'
><a href='index.php?ep=1'>EPs</a></div><div class='divmenu' id='subMenuSingles1' onmouseover='show("subMenuAlbums1");show("subMenuSingles1");show("subMenuEP1");'
onmouseOut='hide("subMenuAlbums1");hide("subMenuSingles1");hide("subMenuEP1");'
><a href='index.php'>Singles</a></div> 
  #2 (permalink)  
Antiguo 15/02/2008, 07:34
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 2 meses
Puntos: 62
Re: Funciona en IE pero no en FireFox

instalate el add-on "firebug" de firefox, veras que rapido encuentras el error ;)
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 16/02/2008, 06:11
 
Fecha de Ingreso: febrero-2008
Mensajes: 63
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Funciona en IE pero no en FireFox

Hola, gracias por la respuesta!
Sí, si tengo instalado Firebug pero no me da ningun error ni en consola ni en ningún sitio .. ¿qué puede ser??

Gracias otra vez!
  #4 (permalink)  
Antiguo 16/02/2008, 09:50
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Funciona en IE pero no en FireFox

Hola:

Estos condicionales son innecesarios a estas alturas:
Cita:
Código PHP:
if (document.getElementById) {
document.getElementById(ob).style.display 'inline-block';
}
else if (
document.layers && document.layers[ob]) {
document.layers[ob].display 'inline-block';
}
else if (
document.all) {
document.all[ob].style.display 'inline-block';

En su lugar, el document.getElementById() funciona en todos los navegadores. Se ahorra código y se mejora todo en general.

Por otra parte, el valor para display "inline-block" no existe, o es "inline", o es "block", pero no existe "inline-block". Firefox te lo comenta como advertencia, no como error. Te dice que no se ha tomado como válida la declaración, que se ha omitido.

Cita:
Iniciado por FF
Warning: Error in parsing value for property 'display'. Declaration dropped.

Saludos.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #5 (permalink)  
Antiguo 04/09/2008, 14:39
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
Respuesta: Re: Funciona en IE pero no en FireFox

Cita:
Iniciado por derkenuke Ver Mensaje
Por otra parte, el valor para display "inline-block" no existe, o es "inline", o es "block", pero no existe "inline-block".
levanto este tema porque lo encontré por google y puede darse a la confusión si alguien más lo encuentra.
El valor "inline-block" para display SI existe, fue incuido en css 2.1 pero Firefox 2 no lo soporta, lo empezó a soportar en su versión 3.
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #6 (permalink)  
Antiguo 04/09/2008, 17:16
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: Funciona en IE pero no en FireFox

Gracias webosiris, lo descubrí hace nada.

En ese post me dejé guiar por los errores de un firefox todavía obsoleto. La versión 3 ya no parece dar esa advertencia.

__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #7 (permalink)  
Antiguo 24/11/2008, 16:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 1
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Funciona en IE pero no en FireFox

hola, he encontrado unos errores en tu codigo, e hice que corriera en firefox tmb, lo que hice fue agregar les algunos <br> para que hiciera el cambio de linea, en firefox, y algunos campos como por ejemplo subMenuAlbums1' onmouseover se encontraban pegados, y eso es error de sintaxis, segun el software que utilizo para compilar el codigo:

<body>
<a id='Menu1' onmouseover='show("subMenuAlbums1");show("subMenuS ingles1");show("subMenuEP1");' onmouseOut='hide("subMenuAlbums1");hide("subMenuSi ngles1");hide("subMenuEP1");' class='genrebutton' href='#'>New Releases</a>
<br>
<div class='divmenu' id='subMenuAlbums1' onmouseover='show("subMenuAlbums1");show("subMenuS ingles1");show("subMenuEP1");' onmouseOut='hide("subMenuAlbums1");hide("subMenuSi ngles1");hide("subMenuEP1");'>
<a href='index.php?albums=1'>Albums</a>
</div>
<br>
<div class='divmenu' id='subMenuEP1' onmouseover='show("subMenuAlbums1");show("subMenuS ingles1");show("subMenuEP1");' onmouseOut='hide("subMenuAlbums1");hide("subMenuSi ngles1");hide("subMenuEP1");'>
<a href='index.php?ep=1'>EPs</a>
</div>
<br>
<div class='divmenu' id='subMenuSingles1' onmouseover='show("subMenuAlbums1");show("subMenuS ingles1");show("subMenuEP1");' onmouseOut='hide("subMenuAlbums1");hide("subMenuSi ngles1");hide("subMenuEP1");'>
<a href='index.php'>Singles</a>
</div>
</body>
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 03:37.