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