Foros del Web » Programando para Internet » Javascript »

Menu no deformable

Estas en el tema de Menu no deformable en el foro de Javascript en Foros del Web. Holas foro, por una vez, pregunta coloquial por mi parte Vi este menu con submenus en este subforo, y me interesó, por la claridad que ...
  #1 (permalink)  
Antiguo 21/09/2005, 19:49
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
Menu no deformable

Holas foro, por una vez, pregunta coloquial por mi parte


Vi este menu con submenus en este subforo, y me interesó, por la claridad que presenta.

En IE se despliega todo como debe, los submenus debajo de los elementos sobre los que hacemos mouseover. Pero en Opera o en FF no, el submenu desplaza todos los elementos siguientes. Esto es logico porque no hay nada que defina que al aparecer el submenu deban quedarse quietos los elementos.

El codigo es este, me parece apropiado:
Código PHP:
<html

<
head
<
style

ul#nav {
    
clear:both;
    
position:absolute;
    
top:100pxleft:50px;
    list-
style-type:none;
}
ul#nav li {
    
float:left
    
width:100px;
    
overflowhidden;
}
ul#nav span {
    
bordersolid 1px black
    
display:block;
}



ul#nav ul {
    
clear:both;
    
width:100px;
    list-
style-type:none;
    
margin-left:0;
}

</
style
<
script

slideMenu.Registry = []; 

function 
slideMenu(id) { 
    
slideMenu.Registry[id] = []; 
    
slideMenu.Registry[id]['containerObj'] = document.getElementById(id+"Container"); 
    
slideMenu.Registry[id]['contentObj']   = document.getElementById(id+"Content"); 

    
slideMenu.Registry[id]['contentObj'].style.display="none"
    
// mostrar
    
slideMenu.Registry[id]['containerObj'].onmouseover = function() { 
        
slideMenu.Registry[id]['contentObj'].style.display 'block';
    } 
    
// ocultar
    
slideMenu.Registry[id]['containerObj'].onmouseout  = function() { 
        
slideMenu.Registry[id]['contentObj'].style.display 'none';
    } 



</script> 
<title>Menu sencillo</title> 
</head> 

<body onload="loadMenu()"> 

textoo principio

<ul id="nav"> 
    <li id="menu1Container"><span><a href="">Home</a></span></li> 
    <li id="menu2Container"><span>menu2</span></li> 
    <ul id="menu2Content"> 
        <li><span><a href="">submenu2.1</a></span></li> 
        <li><span><a href="">submenu2.2</a></span></li> 
        <li><span><a href="">submenu2.3</a></span></li> 
        <li><span><a href="">submenu2.4</a></span></li> 
        <li><span><a href="">submenu2.5</a></span></li> 
    </ul> 
    <li id="menu3Container"><span>menu3</span></li> 
    <ul id="menu3Content"> 
        <li><span><a href="">submenu3.1</a></span></li> 
        <li><span><a href="">submenu3.2</a></span></li>         
        <li><span><a href="">submenu3.3</a></span></li> 
        <li><span><a href="">submenu3.4</a></span></li>         
        <li><span><a href="">submenu3.5</a></span></li> 
        <li><span><a href="">submenu3.6</a></span></li> 
    </ul>   
    <li id="menu4Container"><span>menu4</span></li> 
    <ul id="menu4Content"> 
        <li><span><a href="">submenu4.1</a></span></li> 
    </ul> 
    <li id="menu5Container"><span>menu5</span></li> 
    <ul id="menu5Content"> 
        <li><span><a href="">submenu5.1</a></span></li> 
        <li><span><a href="">submenu5.2</a></span></li> 
    </ul> 
</ul> 

textoo y mas textooo wueeee

<SCRIPT type="text/javascript"> 
function loadMenu() { 
    new slideMenu("menu2"); 
    new slideMenu("menu3"); 
    new slideMenu("menu4"); 
    new slideMenu("menu5"); 

</SCRIPT> 

</body> 

</html> 
Pero seguro que tengo bastantes fallos en el CSS.

La duda esta en como fijar los elementos raiz, tal y como se muestra en IE.


__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 01:15.