funciona bastante bien pero el problema es que cuando poso el mouse sobre el "menu 1" o "menu 2" se despliegan los submenus tanto de 1 como de 2 estoy 99% segura que el problema está en el script creo que tengo que mover algo para que "menu.style..." y "menu2.style..." sean independientes pero nada más no veo como
El problema es que en la función mostrar() y ocultar() incluyes el menú 1 y 2, ergo, al poner o quitar el cursor de un menú se van a mostrar u ocultar ambos.
Debes crear las funciones por separado, por ejemplo:
Código:
function mostrar1(){menu.style.visibility = "visible";} function ocultar1(){menu.style.visibility = "hidden";} function mostrar2(){menu2.style.visibility = "visible";} function ocultar2(){menu2.style.visibility = "hidden";}
Hola mira muchisisisismas gracias por responder solo me quedó una duda... el script quedó así
Código:
function mostrar1() {menu.style.visibility = "visible";} function ocultar1() {menu2.style.visibility = "hidden";} function mostrar2(){menu.style.visibility = "visible";} function ocultar2(){menu2.style.visibility = "hidden";}
Pero me podrías decir dónde le modifico ya en el html? es que no logro que funcione correctamente, checa hice algunos cambios y quedó así:
Pero... lo que sucede es que al pasar el mouse sobre "menu 1" ok se muestra pero ya no se oculta y luego al pasar el mouse por el menu 2 no aparece ya cambié los mostrar y ocultar con 1 y 2 pero nada... (seguramente no lo estoy haciendo bien...
gracias!!!
p.d. ah y gracias por hacerme notar como poner el código en el foro para que fuera más fácil
ahhhhh jajajaja perdón ya vi el error es que el script debe llevar un orden... mensa de mi. no encontré el botón para editar mi post así que sorry sorry soyrry por el post doble.
De nuevo mil mil mil gracias!!! por si a alguien más le sirve el script debe ir así:
Código:
function mostrar1() {menu.style.visibility = "visible";} function ocultar1() {menu.style.visibility = "hidden";} function mostrar2(){menu2.style.visibility = "visible";} function ocultar2(){menu2.style.visibility = "hidden";}
jeje yo de nuevo. tengo otra duda y llevo todo el día en ella. -__- el menú anterior esta bien peara algo simple pero tengo otra web donde trabajo con un script mucho más complicado y tengo un problema... es un menú emergente pero hay submenús dentro de los submenús... el problema es que al desplegarse el tercer submenú se desaparece el segundo nivel... si no me explico bien la página es la siguiente:
en fin como ven cuando se posan en Patología Genral >> Lab histopatología se abre el otro layer que sólo contiene el link para lecturas... pero es un poco confuso porque el layer anterior desaparece totalmente....
mi script es el siguiente
Código:
var linkset=new Array() //SPECIFY MENU SETS AND THEIR LINKS. FOLLOW SYNTAX LAID OUT linkset[0]='<div class="menuitems"><a href="tempatg.htm">Temas</a></div>' linkset[0]+='<div class="menuitems"><a href="tareasgen.htm">Tareas</a></div>' linkset[0]+='<div class="menuitems"><a href="archivos/califgen_102(1).pdf">Calificaciones</a></div>' linkset[0]+='<div class="menuitems"><a >Programa labs</a></div>' linkset[0]+='<div class="menuitems"><a >Links</a></div>' linkset[0]+='<div class="menuitems"><a href="#" onMouseover="showmenu(event,linkset[2])" onMouseout="delayhidemenu()">lab histopatologia</a></div>' linkset[2]='<div class="menuitems"><a >Lecturas</a></div>' linkset[1]='<div class="menuitems"><a >Lecturas</a></div>' linkset[1]+='<div class="menuitems"><a href="tareasesp.htm">Tareas</a></div>' linkset[1]+='<div class="menuitems"><a >Presentaciones</a></div>' linkset[1]+='<div class="menuitems"><a >Links</a></div>' linkset[1]+='<div class="menuitems"><a href="archivos/calpe10-2.pdf" target="iframe" >Calificaciones</a></div>'
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1 var ns6=document.getElementById&&!document.all var ns4=document.layers function showmenu(e,which){ if (!document.all&&!document.getElementById&&!document.layers) return clearhidemenu() menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : "" menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj if (ie4||ns6) menuobj.innerHTML=which else{ menuobj.document.write('<layer name=gui bgColor=#D9DDE8 width=800 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>') menuobj.document.close() } menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height eventX=ie4? event.clientX : ns6? e.clientX : e.x eventY=ie4? event.clientY : ns6? e.clientY : e.y var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY if (rightedge<menuobj.contentwidth) menuobj.thestyle.left=ie8? document.body.scrollLeft+eventX-menuobj.contentwidth : ns8? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth else if (bottomedge<menuobj.contentheight) menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight else menuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY : ns6? window.pageYOffset+eventY : eventY menuobj.thestyle.visibility="visible" return false } function contains_ns6(a, b) { while (b.parentNode) if ((b = b.parentNode) == a) return true; return false; } function hidemenu(){ if (window.menuobj) menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide" } function dynamichide(e){ if (ie4&&!menuobj.contains(e.toElement)) hidemenu() else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget)) hidemenu() } function delayhidemenu(){ if (ie4||ns6||ns4) delayhide=setTimeout("hidemenu()",500) } function clearhidemenu(){ if (window.delayhide) clearTimeout(delayhide) } function highlightmenu(e,state){ if (document.all) source_el=event.srcElement else if (document.getElementById) source_el=e.target if (source_el.className=="menuitems"){ source_el.id=(state=="on")? "mouseoverstyle" : "" } else{ while(source_el.id!="popmenu"){ source_el=document.getElementById? source_el.parentNode : source_el.parentElement if (source_el.className=="menuitems"){ source_el.id=(state=="on")? "mouseoverstyle" : "" } } } } if (ie4||ns6) document.onclick=hidemenu
supongo que el problema está en editar los onMouseOver... o algo así (en las órdenes del mouse) o en la parte en la que indica si un elemeno lo incluye otro.. "function contains..." y simplemente hice mal al agregar el linkset 2... para ser sincera este códio lo tomé de otra parte y lo fuí modificando a mi convenienicia pero debo admitir que si es un poco complicado (bueno para mi que no soy pro ni nada de eso)
Josepepe033 agradecería si tú me puedes orientar o si alguien más puede... ¡gracias!
TU NO PUEDES Escribir nuevos temas en este foro TU NO PUEDES Responder a los temas en este foro TU NO PUEDES Editar tus propios mensajes en este foro TU NO PUEDES Borrar tus propios mensajes en este foro