Ver Mensaje Individual
  #56 (permalink)  
Antiguo 29/08/2005, 18:37
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Estoy tardando en postear aqui...

Antes de nada felicitarte tunait, estaba buscando algun menu eficiente crossbrowser y no encontraba ninguno decente, asi que me decidi por el tuyo ;)

Va perfecto, solo le he encontrado un par de pegas:

1. En la funcion enlaces faltan unas comillas alrededor de enl en el ultimo eval:
Código PHP:
function enlaces(enl,dstn){
    if(
dstn != null && dstn.toLowerCase() == 'nueva'){
        
window.open(enl)
    }
    else if(
dstn==null){
        
location.href=enl;
    }
    else{
        eval(
dstn+'.location.href="'+enl+'"')
    }

Y luego..
2. Que la anchura de las celdas se me ve muy limitada si pongo un elemento muy largo en un submenu. No puedo variarla si quiero poner un submenu gigante (me ha pasado para poner los ultimos titulos de los posts de mi blog). Lo que he hecho ha sido replantear seccion con una propiedad mas

Código PHP:
function seccion(tex,enl,dstn,subO,an,dir,anchoEspecial){
    
this.tex tex;
    
this.enl enl;
    
this.dstn dstn;
    
this.subO subO;
    
this.dir dir;
    
this.an an;
    
this.anchoEspecial=anchoEspecial;

Y cuando añado de mi base de datos los titulos de los posts:
Código PHP:
var Op_0_1_<?=$contador?> = new seccion('<?=$row["post_title"]?>', '<?=$row["guid"]?>', null,0,null,'iz', <?=$w?>);
Siendo $w el ancho en caracteres del titulo, multiplicado por 6 (una aproximacion).
A la vez que esto, voy almacenando en un array javascript este $w, para luego poder calcular el width mas grande de todos:
Código PHP:
anchos_especiales[anchos_especiales.length]=<?=$w?>;
Código PHP:
var max_anchura= eval("Math.max("+anchos_especiales+")"); 
Despues, como es un submenu de un submenu, ataco a la funcion construye2, añadiendole estas lineas para agrandar la caja:
Código PHP:
        if( opchon.anchoEspecial == max_anchura ) {
            
document.getElementById(ide.toLowerCase()+'_sub').style.width=opchon.anchoEspecial+"px";
        } 
De esta manera, cuando construye2 se encuentre al elemento mas ancho, redimensionara toda la caja que contiene el submenu en cuestion.



De nuevo te felicito tunait, un gran trabajo, que ademas me solucionó el menu de mi pagina que no sabia como hacerlo...


Esperando aportar!
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.

Última edición por derkenuke; 30/08/2005 a las 16:20