Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Mantener menu abierto si salgo de la capa que lo abrió

Estas en el tema de Mantener menu abierto si salgo de la capa que lo abrió en el foro de Jquery en Foros del Web. Buenas, tengo un menú construido de esta manera (como me lo han pasado, no se puede cambiar la construcción): Código HTML: <span> Opción 1 </span> ...
  #1 (permalink)  
Antiguo 20/04/2016, 03:26
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 1
Mantener menu abierto si salgo de la capa que lo abrió

Buenas, tengo un menú construido de esta manera (como me lo han pasado, no se puede cambiar la construcción):

Código HTML:
<span>Opción 1</span>
<ul>
<li>Subopcion 1-1</li>
<li>Subopcion 1-2</li>
<li>Subopcion 1-3</li>
</ul>
<span>Opción 2</span>
<ul>
<li>Subopcion 2-1</li>
<li>Subopcion 2-2</li>
<li>Subopcion 2-3</li>
</ul>
.....
Los UL están ocultos y cuando paso el ratón por los SPAN, con mouseenter se muestra el UL que tiene debajo. Todo bien hasta que trato de elegir una subopción, ya que se oculta el menú de nuevo (con mouseleave) y no hay manera de poder elegir una subopción. Si la opción estuviera dentro del UL hubiera sido más fácil pero no sé como decirle a jQuery que si estoy en la subopciones no se cierre el menú.

Gracias

Última edición por suudobal; 21/04/2016 a las 01:21 Razón: Mal expresado el título
  #2 (permalink)  
Antiguo 21/04/2016, 03:05
 
Fecha de Ingreso: abril-2015
Mensajes: 189
Antigüedad: 9 años
Puntos: 14
Respuesta: Mantener menu abierto si salgo de la capa que lo abrió

Puedes probar a añadir el submenu al codigo del jquery algo asi :

Código:
$('.nav-item, .submenu').on({
    mouseenter: function () {
        $('.submenu').show();
    },
Asi en teoria cuando estes sobre el se mostrara igualmente y pones mouseleave al submenu para salir.

Pero igual no funciona tengo el jquery un poco oxidado ahora mismo.
  #3 (permalink)  
Antiguo 21/04/2016, 05:40
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Mantener menu abierto si salgo de la capa que lo abrió

Así no funciona. Pongo lo que tengo bastante resumido a ver si se puede aclarar:

Código HTML:
Ver original
  1. <span>Opción 1</span>
  2. <ul>
  3. <li>Subopcion 1-1</li>
  4. <li>Subopcion 1-2</li>
  5. <li>Subopcion 1-3</li>
  6. </ul>
  7. <span>Opción 2</span>
  8. <ul>
  9. <li>Subopcion 2-1</li>
  10. <li>Subopcion 2-2</li>
  11. <li>Subopcion 2-3</li>
  12. </ul>
  13. .....

Código Javascript:
Ver original
  1. $("span").on("hover", handleHover($("span")));
  2.  
  3.    function handleHover(e) {
  4.  
  5.         $(e).on({
  6.             mouseenter: function() {
  7.                 $(this).next("ul").show();
  8.             },
  9.             mouseleave: function() {
  10.                 $(this).next("ul").hide();
  11.             }
  12.         });
  13.  
  14.     }

Si le añado al handleHover el ul, efectivamente entra pero sigue saliendo... Se me complica... Es decir, necesito indicar que aún sigo en el menú al tener el mouse sobre las subopciones para que no se cierre.
  #4 (permalink)  
Antiguo 24/04/2016, 07:14
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Mantener menu abierto si salgo de la capa que lo abrió

Al final quedó solucionado con wrapAll que no conocía su utilidad en jQuery.

Etiquetas: distinta
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 14:15.