Мой сломанный JQuery слайд-меню с помощью hover () - PullRequest
0 голосов
/ 21 июня 2010

У меня есть html-ссылка, которая использует hover () (ну, плагин hoverIntent ... но с той же разницей), чтобы вызвать div к слайд-центу (я анимирую атрибут top CSS).

Это все работает и выглядит отлично, за исключением того, что когда мышь перемещается от гиперссылки к элементу div, содержащему ссылки на меню, она немедленно вызывает событие mouseleave, и меню исчезает.

Очевидно, я чувствовал себя немного глупо после бесконечной настройки, прежде чем заметил эту «ошибку».

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

Вот ссылка на мою работу: http://clifgriffin.com/blockade

Как бы вы, о эксперты, выполнили то, что я пытаюсь сделать?

Я попытался разделить функции ввода мыши и выхода из мыши ... добавив первые к ссылке, а последние к div, но это не совсем правильно, и даже если бы я решил эту причуду, это не помогло бы Триггер мыши должным образом отключается, когда вы наводите ссылку и затем двигаетесь вверх.

По сути, пока перемещение мыши из ссылки на меню не вызывает отпускания мыши, все будет в порядке.

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

Есть идеи?

Заранее спасибо, Клиф

1 Ответ

0 голосов
/ 21 июня 2010

попробуйте это:

var accoIn = function(){
 topSlideIn($("#top_menu_slideout .aco"));
 $("#top_menu_links .accommodations").unbind("mouseover");      
};

$("#top_menu_links .accommodations").hoverIntent(accoIn,function(){});

$("#top_menu_slideout .aco").hoverIntent(function(){},function(){
 topSlideOut($("#top_menu_slideout .aco"));     
 $("#top_menu_links .accommodations").hoverIntent(accoIn,function(){});
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...