2011-11-22 15 views
10

Tengo problemas para eliminar el retraso inicial del arreglo desplegable de Superfish. Mi cliente quiere un retraso en el uso, pero no un retraso en el uso.Quitar el retraso del menú desplegable de Superfish onmouseover, mientras mantengo el retraso de Hoverintent onmouseout

Tengo un menú desplegable de CSS puro (idéntico al menú desplegable de Twentyten) y estoy aplicando Suckerfish.js a esto.

Aquí está mi código:

$('ul#menu-airco-mb-navigatiestructuur').superfish({ 
    delay: 600, 
    autoArrows: false, 
    speed: 'fast' 
}); 

He estado leyendo a través the manual of Superfish, pero me parece que no puede encontrar lo que desencadena el retardo inicial. Tal vez tiene algo que ver con la animación animation: {opacity:'show'} (que no puedo entender).

¡Se agradece la ayuda!

Respuesta

13

Parece que podría estar incluyendo el plugin HoverIntent. Una de las opciones de Superfish es "disableHI". Si configura eso en "verdadero", Superfish no usará HoverIntent para retrasar el evento del mouseenter. O simplemente no podría incluir el complemento HoverIntent si no planea usarlo en otro lugar del sitio. Espero que esto ayude.

$('ul#menu-airco-mb-navigatiestructuur').superfish({ 
    delay: 600, 
    autoArrows: false, 
    speed: 'fast', 
    disableHI: true 
}); 

He creado dos casos de prueba. El first one es una versión simplificada de su página usando su CSS y the second es exactamente igual, excepto que eliminé todo su CSS y solo incluí el superfish.css básico que se encuentra en el sitio web de Superfish. También alteré la clase de menú de 'menú' a 'menú-sf' solo para que funcione superfish.css.

Observe que la versión con mi CSS funciona como usted quiere, mientras que la que tiene su CSS tiene el error que describe. Supongo que hay un problema de CSS que puedes resolver comparando el mío con el tuyo y modificando el tuyo para que coincida más. Una diferencia que veo es que configuré las UL del submenú con un ancho de em fijo y sus LI hijos al 100%, mientras que no. Este no es el culpable, pero muestra que puede beneficiarse al alinear su CSS más de cerca con la forma probada y probada de hacer los menús de Superfish. Espero que esto ayude.

+0

Hola Joel, gracias por tu respuesta, pero me gustaría mantener el comportamiento de flotación inactiva en el modo de apagado, solo me gustaría quitar el elemento de navegación ANTES (encendidos) de la pantalla de un submenú. He hablado con el creador de hoverIntent y él me aconseja que intente y edite el núcleo de Superfish, para eliminar hoverIntent onmouseover. ¿Cuáles son sus puntos de vista sobre esto? Gracias por adelantado. – maartenmachiels

+0

Superfish maneja el retraso de mouseout a través de su opción "delay", dejando a HoverIntent (si está incluido) para manejar el evento mouseover.disableHI quita HoverIntent onmouseover, pero dejar "delay" establecido en 600 aún debe conservar el retraso de mouseout. –

+0

Gracias de nuevo. He seguido tus instrucciones, pero aparentemente sin éxito. ¿Podría echar un vistazo a mi implementación en [enlace] http://mediasoft.chocolata.be para ver cuál podría ser el problema? – maartenmachiels

0

Lo que está viendo en mouseover no es ningún retraso sino la animación real ejecutándose.

Supongo que podría eliminar la animación.

Si solo se anima la altura, se obtiene una respuesta visual inmediata en lugar de opacidad, que tarda un segundo en aparecer.

Funcionalidad sabia que puede ser pero que desea, no lo conozco visualmente.

 $('ul#menu-airco-mb-navigatiestructuur').superfish({ 
      delay  : 0, 
      animation : { height:'show' }, 
      speed  : 'fast' 
     }); 
+0

Hola, gracias. Ahora ya es un poco más claro, pero aún parece haber un ligero retraso. Tenga en cuenta que establecer 'delay: 0' elimina el retraso onmouseOUT, mientras que solo quiero eliminar el retraso onmouseOVER. Aquí puede ver de lo que estoy hablando: http://mediasoft.chocolata.be/ ¿Podría ayudarnos? – maartenmachiels