elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ayuda con un menú emergente
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con un menú emergente  (Leído 2,634 veces)
Aleksei

Desconectado Desconectado

Mensajes: 2


Ver Perfil
ayuda con un menú emergente
« en: 22 Enero 2011, 02:20 am »

Hola

tengo una web donde trabajo con un script un tanto 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
  1. var linkset=new Array()
  2. //SPECIFY MENU SETS AND THEIR LINKS. FOLLOW SYNTAX LAID OUT
  3. linkset[0]='<div class="menuitems"><a href="tempatg.htm">Temas</a></div>'
  4. linkset[0]+='<div class="menuitems"><a href="tareasgen.htm">Tareas</a></div>'
  5. linkset[0]+='<div class="menuitems"><a href="archivos/califgen_102(1).pdf">Calificaciones</a></div>'
  6. linkset[0]+='<div class="menuitems"><a >Programa labs</a></div>'
  7. linkset[0]+='<div class="menuitems"><a >Links</a></div>'
  8. linkset[0]+='<div class="menuitems"><a href="#" onMouseover="showmenu(event,linkset[2])" onMouseout="delayhidemenu()">lab histopatologia</a></div>'
  9. linkset[2]='<div class="menuitems"><a >Lecturas</a></div>'
  10. linkset[1]='<div class="menuitems"><a >Lecturas</a></div>'
  11. linkset[1]+='<div class="menuitems"><a href="tareasesp.htm">Tareas</a></div>'
  12. linkset[1]+='<div class="menuitems"><a >Presentaciones</a></div>'
  13. linkset[1]+='<div class="menuitems"><a >Links</a></div>'
  14. linkset[1]+='<div class="menuitems"><a href="archivos/calpe10-2.pdf" target="iframe" >Calificaciones</a></div>'
  15.  
  16. var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
  17. var ns6=document.getElementById&&!document.all
  18. var ns4=document.layers
  19. function showmenu(e,which){
  20. if (!document.all&&!document.getElementById&&!document.layers)
  21. return
  22. clearhidemenu()
  23. menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : ""
  24. menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj
  25. if (ie4||ns6)
  26. menuobj.innerHTML=which
  27. else{
  28. menuobj.document.write('<layer name=gui bgColor=#D9DDE8 width=800 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')
  29. menuobj.document.close()
  30. }
  31. menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width
  32. menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height
  33. eventX=ie4? event.clientX : ns6? e.clientX : e.x
  34. eventY=ie4? event.clientY : ns6? e.clientY : e.y
  35. var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX
  36. var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY
  37. if (rightedge<menuobj.contentwidth)
  38. menuobj.thestyle.left=ie8? document.body.scrollLeft+eventX-menuobj.contentwidth : ns8? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
  39. else
  40. if (bottomedge<menuobj.contentheight)
  41. menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight
  42. else
  43. menuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY : ns6? window.pageYOffset+eventY : eventY
  44. menuobj.thestyle.visibility="visible"
  45. return false
  46. }
  47. function contains_ns6(a, b) {
  48. while (b.parentNode)
  49. if ((b = b.parentNode) == a)
  50. return true;
  51. return false;
  52. }
  53. function hidemenu(){
  54. if (window.menuobj)
  55. menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
  56. }
  57. function dynamichide(e){
  58. if (ie4&&!menuobj.contains(e.toElement))
  59. hidemenu()
  60. else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
  61. hidemenu()
  62. }
  63. function delayhidemenu(){
  64. if (ie4||ns6||ns4)
  65. delayhide=setTimeout("hidemenu()",500)
  66. }
  67. function clearhidemenu(){
  68. if (window.delayhide)
  69. clearTimeout(delayhide)
  70. }
  71. function highlightmenu(e,state){
  72. if (document.all)
  73. source_el=event.srcElement
  74. else if (document.getElementById)
  75. source_el=e.target
  76. if (source_el.className=="menuitems"){
  77. source_el.id=(state=="on")? "mouseoverstyle" : ""
  78. }
  79. else{
  80. while(source_el.id!="popmenu"){
  81. source_el=document.getElementById? source_el.parentNode : source_el.parentElement
  82. if (source_el.className=="menuitems"){
  83. source_el.id=(state=="on")? "mouseoverstyle" : ""
  84. }
  85. }
  86. }
  87. }
  88. if (ie4||ns6)
  89. document.onclick=hidemenu

es la parte importante en el html solo va:


Código:
<a onMouseover="showmenu(event,linkset[0])" onMouseout="delayhidemenu()">Patologia General</a><p>
<a onMouseover="showmenu(event,linkset[1])" onMouseout="delayhidemenu()">Patologia Especial</a><hr>

quiero suponer que el error está en alguno de los comando que ordenan las acciones de onMouseover o de hidemenu... o algo así, la verdad este códio es algo complicado para mi pero ahí dos tres hace lo que le pido...

please please pleas me urge un poco de ayuda!!!!! 


En línea

kasiko

Desconectado Desconectado

Mensajes: 218



Ver Perfil
Re: ayuda con un menú emergente
« Respuesta #1 en: 22 Enero 2011, 13:31 pm »

mondie!!! ¿donde esta la parte java por aki? :o :rolleyes:


En línea

Nos vemos...

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: ayuda con un menú emergente
« Respuesta #2 en: 22 Enero 2011, 17:38 pm »

mondie!!! ¿donde esta la parte java por aki? :o :rolleyes:

Es javascript, por cierto a grandes rasgos estas usando solo javascript, por que no usas bibliotecas como JQuery + JQueryUI te ayudaran para lo que tu quieres. No reinventes la rueda usa las herramientas que tienes al alcanze

http://docs.jquery.com/Main_Page
http://jqueryui.com/demos/

Nos vemos Saludos!!
En línea

Aleksei

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: ayuda con un menú emergente
« Respuesta #3 en: 22 Enero 2011, 19:19 pm »

Gracias... veré que puedo hacer... el problema es que no se TANTO de programación espero no sea un programa muy complejo... de todos modos gracias por la sugerencia!!! definitivamente lo probaré
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Menu emergente con Photoshop
Diseño Gráfico
Villamil 1 1,914 Último mensaje 14 Abril 2005, 16:55 pm
por Morris
Quitar menú emergente
Programación Visual Basic
karmany 0 1,332 Último mensaje 7 Febrero 2006, 17:44 pm
por karmany
Ayuda ventaja emergente
Desarrollo Web
aprendiz_web 2 1,966 Último mensaje 1 Diciembre 2013, 16:18 pm
por aprendiz_web
Menú Emergente en Java (jPopupMenu)
Java
MayRo 0 1,485 Último mensaje 23 Julio 2016, 23:05 pm
por MayRo
WhatsApp tendrá nuevos iconos para el menú emergente: cuál es su significado y para qué sirven
Noticias
El_Andaluz 0 1,083 Último mensaje 7 Marzo 2024, 22:53 pm
por El_Andaluz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines