Убрать задержку раскрывающегося меню Superfish при mmoverover, оставив задержку при зависании Hoverintent - PullRequest
10 голосов
/ 22 ноября 2011

У меня проблемы с удалением начальной задержки выпадающего списка Superfish. Мой клиент хочет, чтобы задержка включения была, но не задержка начала.

У меня есть чистое раскрывающееся меню CSS (идентичное выпадающему меню Twentyten), и я применяю к нему Suckerfish.js.

Вот мой код:

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

Я читал руководство по Superfish , но я не могу найти, что вызывает начальную задержку. Может быть, это как-то связано с анимацией animation: {opacity:'show'} (которая, кажется, не может заставить меня задуматься).

Помощь приветствуется!

Ответы [ 2 ]

13 голосов
/ 14 декабря 2011

Похоже, вы используете плагин HoverIntent.Одним из вариантов Superfish является «disableHI».Если для этого параметра установлено значение «true», Superfish не будет использовать HoverIntent для задержки события mouseenter.Или вы можете просто не включать плагин HoverIntent, если вы не планируете использовать его в другом месте на сайте.Надеюсь, это поможет.

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

Я создал два теста. первый - это упрощенная версия вашей страницы с использованием вашего CSS, а второй точно такой же, за исключением того, что я удалил весь ваш CSS и включил только базовый superfish.css, найденный на SuperfishВеб-сайт.Я также изменил класс меню с 'menu' на 'sf-menu' просто так, что работает superfish.css.

Обратите внимание, что версия с моим CSS работает так, как вы этого хотите, тогда как версия с вашимВ CSS есть ошибка, которую вы описываете.Я предполагаю, что есть проблема CSS, которую вы могли бы решить, сравнив мою с вашей и изменив вашу, чтобы соответствовать ей ближе.Одно отличие, которое я вижу, состоит в том, что я устанавливаю UL подменю на фиксированную ширину em, а их дочерние LI - на 100%, а вы нет.Это не преступник, но показывает, что вы можете извлечь выгоду из более точного выравнивания CSS с проверенным и проверенным способом создания меню Superfish.Надеюсь, это поможет.

0 голосов
/ 22 ноября 2011

То, что вы видите при наведении курсора мыши, это не какая-то задержка, а фактическая анимация.

Полагаю, вы можете удалить анимацию.

Если вы только анимируете высоту, вы сразу получаете визуальный эффект.ответ, в отличие от непрозрачности, которая занимает секунду, чтобы появиться.

Функциональная мудрость, которая может быть, но вы хотите, не знаете о визуально.

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