Foros del Web » Programando para Internet » Javascript »

error en menú desplegable

Estas en el tema de error en menú desplegable en el foro de Javascript en Foros del Web. Tengo un menú desplegable con imágenes de sustición (ya que los botones son imágenes), y.... "funciona" digamos! El único problema es que el dichoso boton ...
  #1 (permalink)  
Antiguo 30/11/2011, 19:09
 
Fecha de Ingreso: agosto-2011
Mensajes: 7
Antigüedad: 12 años, 8 meses
Puntos: 0
error en menú desplegable

Tengo un menú desplegable con imágenes de sustición (ya que los botones son imágenes), y.... "funciona" digamos! El único problema es que el dichoso boton no hace caso al primer "click", sino al SEGUNDO! Entonces ya si que funciona...
Así que limpiando código, me di cuenta de que el fallo esta en el "< body onload>", ya que quitando lo me funciona a la primera PERO se eliminan las imágenes de sustitución... PUF! A ver si podéis echarme una mano, pego el código y gracias de antemano.

<head>
<script type="text/javascript">
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</script>
<script language="JavaScript">
function muestra_oculta(id){
if (document.getElementById){ //se obtiene el id
var el = document.getElementById(id); //se define la variable "el" igual a nuestro div
el.style.display = (el.style.display == 'none') ? 'block' : 'none'; //damos un atributo display:none que oculta el div
}
}
window.onload = function(){/*hace que se cargue la función lo que predetermina que div estará oculto hasta llamar a la función nuevamente*/
muestra_oculta('contenido_a_mostrar');/* "contenido_a_mostrar" es el nombre que le dimos al DIV */
}
</script>
</head>

<body onload="MM_preloadImages('images/buttons/bioOn.gif','images/buttons/galleryON.gif','images/buttons/proyectsON.gif','images/buttons/storeON.gif','images/buttons/contactON.gif','images/buttons/coversON.gif','images/buttons/postersON.gif','images/buttons/conceptsON.gif','images/buttons/designON.gif','images/buttons/collabsON.gif')">

<div id="menu">
<a style='cursor: pointer;' onclick="muestra_oculta('contenido_a_mostrar')" href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('gallery','','images/buttons/galleryON.gif',1)"><img src="images/buttons/galleryOFF.gif" alt="Gallery" name="gallery" width="170" height="20" border="0" id="gallery" /></a>
<div id="contenido_a_mostrar"><a href="covers.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('covers','','images/buttons/coversON.gif',1)"><img src="images/buttons/coversOFF.gif" alt="Covers" name="covers" width="140" height="16" border="0" id="covers" /></a><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('posters','','images/buttons/postersON.gif',1)"><img src="images/buttons/postersOFF.gif" alt="Posters" name="posters" width="140" height="16" border="0" id="posters" /></a><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('concepts','','images/buttons/conceptsON.gif',1)"><img src="images/buttons/conceptsOFF.gif" alt="Concepts" name="concepts" width="140" height="16" border="0" id="concepts" /></a><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('design','','images/buttons/designON.gif',1)"><img src="images/buttons/designOFF.gif" alt="Design" name="design" width="140" height="16" border="0" id="design" /></a><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('collabs','','images/buttons/collabsON.gif',1)"><img src="images/buttons/collabsOFF.gif" alt="Collabs" name="collabs" width="140" height="16" border="0" id="collabs" /></a></div></div>
</div>
</body>

Etiquetas: desplegable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:53.