Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/07/2011, 04:54
Avatar de atapuerkasman
atapuerkasman
 
Fecha de Ingreso: febrero-2011
Mensajes: 76
Antigüedad: 14 años, 2 meses
Puntos: 2
Problema con la visualizacion de un menu desplegable en firefox

Saludos, tengo creado un script que cuando pinchas con el boton izquierdo en una imagen, aparece un menu desplegable. Si vuelves a pinchar desaparece.

El problema que tengo es que no consigo que funcione para navegadores Netscape
Estoy teniendo muchos problemas con las anchuras y las posiciones. Os pongo el código del javascript a ver si alguien me puede hechar una mano.


Código:
 function sombra(e){
  		
  		if(document.getElementById){
  			mimenu=document.getElementById("menudesplegable");
  		
  		}else if(document.all){
  			mimenu=document.all.menudesplegable;
  		}
  	
  		 
  	if(!e){
  		var e=window.event;
  	}
  	
  	
	//tamaño de la ventana - posicion del puntero
  	if (navigator.appName=='Netscape'){
  		//tamaño de la ventana - posicion del puntero
  		
  	  	var borde_derecho=window.innerWidth - document.body.clientWidth;

  	 
  	  	//distancia del menu al puntero
  	  	
  	  	if(borde_derecho< mimenu.innerWidth){
  	 	
  	  		mimenu.style.left=window.pageXOffset + document.body.clientWidth - menudesplegable.innerWidth + 'px';
  	  		mimenu.style.top= window.pageYOffset + document.body.clientHeight - menudesplegable.innerHeight + 'px';

  	  		
  	  	}else{
  	
  	  		mimenu.style.left=window.pageXOffset+ document.body.clientWidth+ 'px';
  	  		mimenu.style.top= window.pageYOffset + document.body.clientHeight + 'px';
  	  		alert(document.getElementById("menudesplegable").style.width+"px");
  	  		
  	  	}
  	  	document.getElementById("menudesplegable").style.visibility="visible";
  	  

   }else   if (navigator.appName.indexOf('Microsoft')!=-1){
	   
	   //tamaño de la ventana -posicion del puntero
	   var borde_derecho=document.body.offsetWidth - e.clientX;
// 	  	var borde_inferior=document.body.offsetHeight- e.clientY;

	  	//distancia del menu al puntero
	  	if(borde_derecho < mimenu.offsetWidth)  {

        mimenu.style.left =  document.body.scrollLeft + e.clientX - menudesplegable.offsetWidth + 'px';
  		mimenu.style.top = document.body.scrollTop + e.clientY- menudesplegable.offsetHeight+ 'px';
  	}
        else { 
           mimenu.style.left = document.body.scrollLeft + e.clientX + 'px';
           mimenu.style.top= document.body.scrollTop + e.clientY+ 'px';
           //alert("mimenu top: "+mimenu.style.top+" mimenu left: "+mimenu.style.left);
     }
	  	
	  	 mimenu.style.visibility="visible";
   }
  	
  	
    
  	return false;
  }
a esta función se la llama cuando detecta el click izq del ratón en la imagen

Muchas gracias