Generalnie powinieneś używać klas, których motyw używa do zarządzania wyświetlaniem i ukrywaniem menu, aby zachować zgodność.
KOD resposible DLA Najedź menu (custom.js):
var $et_top_menu = $('ul.nav');
$et_top_menu.find('li').hover(function() {
if (! $(this).closest('li.mega-menu').length || $(this).hasClass('mega-menu')) {
$(this).addClass('et-show-dropdown');
$(this).removeClass('et-hover').addClass('et-hover');
}
}, function() {
var $this_el = $(this);
$this_el.removeClass('et-show-dropdown');
setTimeout(function() {
if (! $this_el.hasClass('et-show-dropdown')) {
$this_el.removeClass('et-hover');
}
}, 200);
});
JAK Unbind wyzwalanie HOVER Event # 1 (jeśli chcesz zrobić to gdzieś indziej po to jest inicjowany w custom.js):
$('ul.nav li').off("hover");
JAK Unbind wyzwalanie HOVER Event # 2 (jeśli chcesz zmodyfikować custom.js tuż po kodzie):
$et_top_menu.find('li').off("hover");
JAK Unbind wyzwalanie HOVER Event # 3 (jeśli chcesz zmodyfikować custom.js:
prostu usunąć kod i zastąpić go na swojej kliknięcie kodu zdarzenia
JAK ABY WYKORZYSTAĆ KLIKNIĘCIE ZDARZEŃ - jeśli chcesz opuścić poprzedni kod zawisu - poniżej kodu zawisu lub użyć go na swoim miejscu - należy pamiętać, że musi on być użyty po custom.js lub wewnątrz po kodzie aktywującym:
$('ul.nav li').off("hover");
$et_top_menu.find('li').click(function() {
if (! $(this).closest('li.mega-menu').length || $(this).hasClass('mega-menu')) {
$(this).toggleClass('et-show-dropdown');
$(this).toggleClass('et-hover');
}
});
Kod, który ci podałem, nie ma żadnej anitmacji, więc rób to sam. Najprostszym sposobem jest użycie CSS na przykład:
<YOUR SELECTOR> {
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
}
Fiddle Przykład - wyłącza zdarzenie najechania i skonfigurować w przypadku kliknięcia.
http://jsfiddle.net/gwn9aqxs/2/
dodałem kilka klas CSS w celu utrzymania jej za zgodną ze swoimi klasami css tematycznych. Dodałem klasy "nav" do UL nadrzędnego, tak jak to było w twoim motywie, i dodałem klasę "mega-menu" do rodzica z ul.sub-menu, tak jak w twoim motywie.
Co trzeba usunąć tylko stan najechania? – user5200704
Muszę zastąpić stan zawisu menu stanem kliknięcia. Przeszedłem przez arkusze stylów i usunąłem stan zawisu w poprzednich działaniach, aby rozwiązać tę zmianę, jednak bez radości. – Cutter