La Web del Programador: Comunidad de Programadores
 
    Pregunta:  13616 - DIVS Y LISTAS DESPLEGABLES EN HTML : PROBLEMAS
Autor:  Nacho Bergada
Hola a todos,

He hecho un menu desplegable con DIV's. Todo funciona correctamente pero uno de los divs pasa por encima de un formulario. Cuando pasa por encima de un <select> (Iista desplegable) la cosa se estropea, ya que el select pasa a estar por encima del div.

He intentado incluir el select dentro del body, en un div con z-index inferior al del menu,.. etc etc etc. . y no hay manera, siempre aparece por encima del div del menu.

NECESITO AYUDA URGENTE PARA SOLVENTAR ESTE PROBLEMA.

MUCHAS GRACIAS

  Respuesta:  Alan Cid Reyes
Esto fue algo que en lo personal me costó mucho trabajo resolver, pero despues de una exaustiva búsqueda y demás, entendí que había jerarquías entre los objetos que el browser puede o no, contener. Por lo tanto la única solución era encontrar un elemento que tuviera una jerarquía más alta que el 'combobox' o al menos una jerarquía igual. Este objeto era un....

ta, ra, ra, ra, ta ra.... un IFRAME

Si, un IFRAME, claro no cualquier IFRAME. Trata dibujando un IFRAME con las siguientes características:

<iframe id="menuxyz" style="background-color: #FFFFFF; position: absolute; top: 0; left: 0; width: 0; height: 0; visibility: visible" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>

El atributo "id" lo necesitarás para mediante a sentencia:

var objiframe = document.all['menuxyz'];

obtener en la variable [objiframe] el IFRAME, al cual deberas modificar los atributos [top, left width y height] asignandolos DINÁMICAMENTE:

objiframe.style.top = 100;
.
.
.

y corresponderán a las dimensiones de el menú que desplegarás.

Entiendo que es una solución algo rebuscada, ya que en un menu que despliega n-opciones en n-niveles deberás CALCULAR siempre la posición donde aparecerá el menú y crear tantos IFRAMES como menús tengas que mostrar. (COSA NO IMPOSIBLE, PERO SI DIFICULTOSA CLARO).

Por otro lado para un menu superior que despliega siempre una cantidad ya definida de opciones (y que en su camino se encuentra a un 'fucking-combo'), funcionará perfectamente. Creenme esta es LA SOLUCIÓN.
Y dejarás sin aliento a quienes técnicamente desconocen el proceso ;)
Si obtienes el resultado esperado. No dudes en distribuir esta solución y de ser posible enviame el link donde lo utilices.

SALUDOS y buena suerte.
ALCIDXP

  Respuesta:  Raúl
La única solución que yo conozco, es ocultar los combos cuando el menu se despliege. Con \"style.visibility\"

  Respuesta:  Jose Martinez
No se puede hacer.....

El select simpre se te situará por encima...

Yo lo he intentado muchas veces y jamas lo he conseguido...

Al final he llegado a la conclusion de que no se puede hacer.