2013-09-30 4 views
0

Я пытаюсь добавить анимацию в раскрывающееся меню wordpress. Я использую этот код:Анимация WordPress (Двадцать тринадцать) подменю

jQuery(function() { 
    jQuery("ul#menu-menu-1").hover(function() { 
     jQuery(this).find('ul.sub-menu') 
      .stop(true, true).delay(50).animate({ "height": "show", "opacity": "show" }, 200); 
    }, function(){ 
     jQuery(this).find('ul.sub-menu') 
      .stop(true, true).delay(50).animate({ "height": "hide", "opacity": "hide" }, 200); 
    }); 

}); 

Но 1) он идет на уже «в положении» подменит и 2) подменит первый родитель вместо суб-меню второго ...

ответ

1

Ваш селектор представляет собой все меню навигации, в результате чего все подменю появляются, когда мышь нависает над любой частью меню.

Попробуйте использовать jQuery("ul#menu-menu-1 li").hover(function() {, который в свою очередь выберет индивидуальное li элементов.

Затем используйте .children вместо .find, что касается целевых li элементов, которые являются прямыми дочерними элементами элемента меню, зависающего.

jQuery(function() { 
    jQuery("ul#menu-menu-1 li").hover(function() { 
     jQuery(this).children('ul.sub-menu') 
      .stop(true, true).delay(50).animate({ "height": "show", "opacity": "show" }, 200); 
    }, function(){ 
     jQuery(this).children('ul.sub-menu') 
      .stop(true, true).delay(50).animate({ "height": "hide", "opacity": "hide" }, 200); 
    }); 
}); 

Для анимации появляться, удалите следующий из вашего styles.css near line 906

ul.nav-menu li:hover > ul, .nav-menu ul li:hover > ul { 
    display: block; 
} 
+0

Вашего кода опубликованный на ссылку выше, но анимация не получить срабатывают. – MultiformeIngegno

+1

Я включил редактирование CSS, чтобы анимация появилась. Это не показано, потому что ваш CSS заставляет «display: block» в подменю, отменяя анимацию. – Axel

+0

Yesssssssssssss спасибо !!!!!!!!!! ;) – MultiformeIngegno

Смежные вопросы