Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/04/2008, 01:00
SusoX
 
Fecha de Ingreso: agosto-2007
Ubicación: Valencia
Mensajes: 23
Antigüedad: 16 años, 8 meses
Puntos: 0
DIVs dentro de UL

Hola,

tengo el siguiente problema, por medio de un query construyo un menú lateral que siemplemente se compone del texto y su vinculo, sin imágenes.

El caso es que se podría decir que este menú se compone de dos niveles. Tenemos los menus y dentro de cada menú varios submenus.

Cada opción del menú la meto en un <li>, para conseguir que los submenus no aparezca a no ser que hayas seleccionado previamente su opción de menú he metido las opciones de los submenus en un div con display:none.

En Firefox funciona de maravilla, pero en el caso de internet explorer...

En cuanto cierro el div de un submenú y comienza un elemento <li> es como si también cerrara el <ul> y por lo tanto la lista sale totalmente descuadrada.

Aquí os dejo el código (utilizo una libreria para los comandos del sql):



echo '<ul>';

for($i=1;$i<sizeof($d);$i++){
if($c==$d[$i][1]){
echo '<li><a href="#" onclick="muestra_capa('.$d[$i][1].');"><span>'.htmlentities($d[$i][0]).'</span></a></li>';
}else{
echo '<li><a href="#" onclick="muestra_capa('.$d[$i][1].');"><span>'.htmlentities($d[$i][0]).'</span></a></li>';
}

$bd->conectar('','','','');
$sql="select id, titulo_".$a." from contenidos where seccion = '".$b."' and subseccion = '".$d[$i][1]."' and visible = '1' order by titulo_".$a." ASC";
$bd->consulta($sql);
$f= $bd->extraer_lista();
$bd->desconectar();

if(sizeof($f) > 1){
if($g !='' && $c == $d[$i][1] ){
echo'<div id="lista_sub_'.$d[$i][1].'" style="display:block;">';
}else{
echo'<div id="lista_sub_'.$d[$i][1].'" style="display:none;">';
}
for($j=1;$j<sizeof($f);$j++){
if($g == ''){
echo'<li class="nivel"><a href="?seccion='.$b.'&amp;subseccion='.$d[$i][1].'&amp;contenido='.$f[$j][0].'" title="'.htmlentities($f[$j][1]).'"><span>'.htmlentities($f[$j][1]).'</span></a></li>';
}else{
if($g == $f[$j][0]){
echo '<li class="nivel actual"><span>'.htmlentities($f[$j][1]).'</span></li>';
}else{
echo'<li class="nivel"><a href="?seccion='.$b.'&amp;subseccion='.$d[$i][1].'&amp;contenido='.$f[$j][0].'" title="'.htmlentities($f[$j][1]).'"><span>'.htmlentities($f[$j][1]).'</span></a></li>';
}
}
}
echo'</div>';
}
}

if($_SESSION['autenticado']==1){
$cerrar=array("cs"=>"Cerrar sesi&oacute;n", "en"=>"Log out");
echo '<li class="priv"><a href="cerrar_sesion.php" title="'.$cerrar[$a].'"><span>'.$cerrar[$a].'</span></a></li>';
}

echo '</ul>';


Gracias por todo.