tengo un menú que cuando muevo el ratón sobre un div se mostrará y en el mouse se desvanecerá. el problema es que si vuelcas cualquiera de los menús del menú, el menú desaparecerá (porque técnicamente si eres más de uno de los niños, entonces no estás por encima del padre) ¿hay alguna manera para que rodar sobre los niños no lo haga? contar como un mouseout? aquí está mi código: http://jsfiddle.net/32bLg/menú de jquery que se cierne
Respuesta
Este es un problema muy simple que la mayoría de las personas tiende a complicar masivamente con temporizadores y verificaciones de casos especiales. La solución fácil es a través de marcado. Coloque el objetivo del control deslizante y el menú debajo del mismo elemento primario, y rastree el elemento emergente en el elemento primario. Like this. Es posible que también desee utilizar el complemento jQuery hoverIntent
para evitar falsos eventos de desplazamiento.
Nota de UX: las animaciones de desvanecimiento que duran más de 500 ms son groseras. Por favor no hagas eso.
Aquí es una solución simple: http://jsfiddle.net/32bLg/16/
Me gusta la idea de usar setTimeout +1. –
Salida estas agradables ejemplos:
Un específica multinivel uno:
HTML de enlace 2:
<ul id="nav">
<li><a href="#">1 HTML</a></li>
<li><a href="#">2 CSS</a></li>
<li><a href="#">3 Javascript</a>
<ul>
<li><a href="#">3.1 jQuery</a>
<ul>
<li><a href="#">3.1.1 Download</a></li>
<li><a href="#">3.1.2 Tutorial</a></li>
</ul>
</li>
<li><a href="#">3.2 Mootools</a></li>
<li><a href="#">3.3 Prototype</a></li>
</ul>
</li>
</ul>
CSS:
#nav, #nav ul{
margin:0;
padding:0;
list-style-type:none;
list-style-position:outside;
position:relative;
line-height:1.5em;
}
#nav ul ul{
top:auto;
}
#nav li ul ul {
left:12em;
margin:0px 0 0 10px;
}
#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li:hover ul ul ul ul{
display:none;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li li li li:hover ul{
display:block;
}
JS:
function mainmenu(){
$(" #nav ul ").css({display: "none"}); // Opera Fix
$(" #nav li").hover(function(){
$(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
},function(){
$(this).find('ul:first').css({visibility: "hidden"});
});
}
$(document).ready(function(){
mainmenu();
});
Usted necesita contener el div menú dentro de la div vuelo estacionario. Ver http://jsfiddle.net/T72jm/2/.
Notarás (al menos en Chrome) que si pasas el cursor por encima de tu div y no haces nada, el menú div se desvanecerá.
este es mi dosis
window.menushowing = false;
$('#menu').hover(
function() {
window.menushowing = true;
}, function() {
window.menushowing = false;
hideMenu();
});
function hideMenu() {
if (window.menushowing) return;
$('#menu').animate({
opacity: 0
}, 1500, function() {
$('#menu').hide();
});
}
$('#examplePic').hover(
function() {
window.menushowing = true;
$('#menu').css('display', 'block');
$('#menu').animate({
opacity: 1
}, 1500);
}, function() {
hideMenu();
});
- 1. Comprobar si uno div se cierne otra - jQuery/Javascript
- 2. Cómo crear un control de Winforms C# que se cierne
- 3. menú contextual jquery desactivar elementos de menú
- 4. ¿Cómo mantener el elemento de la lista en estado activo mientras se cierne sobre el menú desplegable?
- 5. jQuery menú desplegable desplegable
- 6. jQuery menú del botón
- 7. Cómo evitar que se abra el menú de selección
- 8. menú desplegable editable en jquery
- 9. Menú Jquery/CSS desplegable que no responde en iPad/iPhone
- 10. jQuery menú desplegable, pestaña accesibilidad
- 11. Evento JQuery que se activará cuando se seleccione un menú desplegable, pero el valor no se cambia
- 12. ¿Cómo se emite una señal desde QPushButton cuando el mouse se cierne sobre ella?
- 13. Menú que se expande durante la carga de la página
- 14. Cuadrícula de menú en jQuery Mobile
- 15. ¿Cómo se llama este estilo de menú?
- 16. JQUERY si no se desplaza
- 17. JComboBox que es un Menú
- 18. cambio CSS dos enlaces cuando se cierne sobre cualquiera de ellos
- 19. Menú jQuery y mapa del sitio ASP.NET
- 20. onchange - el menú desplegable seleccionado usando jquery
- 21. eventos jQuery UI seleccione Menú unen
- 22. Jquery Deshabilitar opción en menú desplegable
- 23. menú dinámico C++ win32 - qué elemento del menú se seleccionó
- 24. comprobación de jQuery, que radioButton se comprueba
- 25. Cómo hacer un enlace tienen el ratón mano enguantada cuando se cierne
- 26. jQuery menú de acordeón - mantener abierto el menú del acordeón en la página Estoy en
- 27. 'actualizar' jquery UI menú de selección después de la actualización
- 28. JQuery UI Autocompletar: haga que el menú se abra cuando el usuario haga clic en el cuadro de texto
- 29. ¿Hay algún plugin jquery que imite el diseño de menú de amazon.com
- 30. Cómo hacer que el menú de la pestaña Vim GUI se vea como el menú de la pestaña Consola
más excelente. al igual que en la vida, la respuesta más simple por lo general es la correcta. también los 500ms fueron solo para probar, eso es demasiado rápido para que la gente lo note de todos modos ... gracias amigo. – zero
Tengo un problema cuando intento entrar y salir del menú del ratón ... 'ahora antes de fadeOut' ... el mouse en examplePic y mouse out ahora ... y nuevamente el mouse en desorden la animación. –
@SKS sí, usar el evento 'hover' regular + animaciones largas haría eso. Cambia a 'hoverIntent' y animaciones cortas y no verías eso. –