Superfish, 2 меню открываются одновременно - как предотвратить? - PullRequest
0 голосов
/ 09 марта 2010

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

Есть ли способ сделать это?

Спасибо !!

Нажмите для просмотра

1 Ответ

1 голос
/ 09 марта 2010

На своем сайте задержка установлена ​​на 800, и я думаю, что она работает нормально, она не отображает старое всплывающее окно. Вы делали какие-либо другие изменения в его коде?

http://users.tpg.com.au/j_birch/plugins/superfish/#examples

Edit: Хорошо, вот решение, если вы не хотите изменять структуру меню с несколькими UL на один UL. Просто дайте уникальные идентификаторы для каждого UL, затем измените over = function () в superfish.js следующим образом

over = function(){
    var $$ = $(this), menu = getMenu($$);
    $('.sf-menu').each(function(){
        if ($(this).attr('id') != $(menu).attr('id')) {
            $(this).hideSuperfishUl();
        }                       
    });
    clearTimeout(menu.sfTimer);
    $$.showSuperfishUl().siblings().hideSuperfishUl();
},

это может вызвать некоторые другие побочные эффекты, но пока я их не вижу.

...