Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2008, 05:55
Avatar de susaninhax
susaninhax
 
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 6 meses
Puntos: 3
Pregunta menu contractil,que se mantenga abierto

Buenos días compañeros;

Estoy usando un menú contractil que es muy sencillo, pero para variar necesito complicarlo. El menú está hecho en javascript, y lo estoy haciendo dinámico con PHP.
Cuando pincho en una opcion se me abren los submenus, y cuando pincho en otra opcion, se cierran los antiguos submenus y se abren los correspondientes. Hasta ahí todo perfecto.

Mi problema viene a que necesito que al abrir un submenú, y al pinchar en uno de los enlaces, cuando se recargue la página necesito que los submenús que estaban abiertos sigan abiertos... pero no se como adaptar la funcion javascript o que hacer para ello. He probado a pasar el id y al recogerlo llamar a la funcion mostrar, pensando en que se va a abrir con el id que le paso, pero no es así.

Alguna sugerencia porfavor?????

MUCHISIMAS GRACIAS DE ANTEMANO POR TODO

Os adjunto el codigo que es muy sencillo:
Función:
Código HTML:
<script>
var result; 
function obtenerid(dentrodeque){
frase=document.getElementById(dentrodeque).innerHTML;
result=new Array(); 
result=frase.match(/\b\s+id=[^>\s]+\b/g);
for(i=0;i<result.length;i++){
result[i]=result[i].split('"').join('');
result[i]=result[i].split('id=').join('');
result[i]=result[i].split(' ').join('');
}
}
function mostrar(que){
for(i=0;i<result.length;i++){
if(que==result[i]){
if(document.getElementById(que).style.display=='none')
	{
	document.getElementById(que).style.display='block';}else{document.getElementById(que).style.display='none';
	}
}else{
eval("document.getElementById('"+result[i]+"').style.display='none'");
}
}
}
</script> 
En el body:
Código HTML:
onLoad="obtenerid('contenedor_menu')"
Desarrollo del menú con las consultas de la BD:
Código PHP:
<div id="contenedor_menu" style="width:180px; margin-left:5px;">
<img src="/wga/wga_imagenes/menu_desplegable/titulo_menu.jpg" alt="Men&uacute;" width="180" border="0" align="left"><br /><br />



<!-- inicio menu 1-->
<?php
$oConn 
fnOraConnect();
$aResultP=array();
$aResultH=array();
$aRes select01_usuario($oConn,$_SESSION['usuario']);
$iUsrAdmin=$aRes[0]["usr_admin"];

if(
$iUsrAdmin==1){
    
$stUrlwId = isset($_GET['id']) ? $_GET['id'] : '' ;
            if(
$stUrlwId){
?>
 <script language="JavaScript">
        mostrar('<?=$stUrlwId?>');
 </script>
 <? 

    
$aResultP select02_urlW($oConn);

        
$p=0;
        while (
$p<count($aResultP))
        {
            
$stUrlwId=$aResultP[$p]["urlW_id"] ;
            
$stUrlwDir=$aResultP[$p]["urlW_dir"];
            
$stUrlwNombre=$aResultP[$p]["urlW_nombre"];
            
?>
    <div class="principal" onClick="mostrar('<?=$stUrlwId?>')"><a href="<?php if($stUrlwDir==""){echo "#";}else{echo $stUrlwDir;}?>"><img src="/wga/wga_fuentes/wga_f_estaticos/wga_f_menu/img/icon2_o.gif" width="21" height="15" border="0" align="absmiddle"> 
    <?=$stUrlwNombre;?>
    </a></div>
    <div id="<?=$stUrlwId?>" style="display:none;">
        <?PHP
            $aResultH 
select03_urlW($oConn,$stUrlwId);

            
$h=0;
            while (
$h<count($aResultH))
            {
                
$stUrlwIdH=$aResultH[$h]["urlW_id"] ;
                
$stUrlwDirH=$aResultH[$h]["urlW_dir"];
                
$stUrlwNombreH=$aResultH[$h]["urlW_nombre"];
            
?>
        <div class="secundario" ><a href="<?=$stUrlwDirH?>?id=<?=$stUrlwId?>"><img src="/wga/wga_fuentes/wga_f_estaticos/wga_f_menu/img/iconarrs.gif" border="0"> <?=$stUrlwNombreH?></a></div>
<?php
            $h
++;
            }
            
?>

</div>

    <?php
        $p
++;
        }
    
?>

<?php
$oConn 
fnOraDisconnect($oConn);
}
?>
    
<!--fin menu 1-->

</div>

Última edición por susaninhax; 06/03/2008 a las 05:58 Razón: para que se entienda el codigo php