Всем привет, подскажите пожалуйста как сделать что бы дочерние меню появлялось плавно? тестовая площадка http://agenstvo.hol.es/ Код который стоит сейчас Спойлер: JS Код (CODE): <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('.parent').addClass('dropdown'); jQuery('.parent > a').addClass('dropdown-toggle'); jQuery('.parent > a').attr('data-toggle', 'dropdown'); jQuery('.nav > .parent > a').attr('data-toggle','#'); jQuery('.parent > a').append(' <span class="caret"></span>'); jQuery('.parent > ul').addClass('dropdown-menu'); jQuery('.nav-child .parent').removeClass('dropdown'); jQuery('.nav-child .parent').addClass('dropdown-submenu'); jQuery('.dropdown-submenu > a').removeAttr('class'); jQuery('.dropdown-submenu > a').removeAttr('data-toggle', 'dropdown'); jQuery('.dropdown-submenu > a > span').remove(); }); </script> Нашел на просторах интернета код но он видимо не подходит, в JS не силен Спойлер: JS Код (CODE): /* ======================================== Joomla3 DropDown Menu ======================================== */ jQuery(document).ready(function(){ // Bootstrap Menu-Class $(document).ready(function(){ // dropdown $('.nav .parent').addClass('dropdown'); $('.nav .parent > a').addClass('dropdown-toggle'); $('.nav .parent > a').attr('data-toggle','dropdown toggleMenu'); // .toggleMenu for Info dropdown Joomla3 $('.nav .parent > a').append('<span class="caret level1"></span>'); // .caret class one $('.nav .parent > ul').addClass('dropdown-menu'); // ul and .caret Class .level1 / .level2 / .level3 $('ul.nav').addClass('level1'); $('.nav .parent ul.nav-child').addClass('level2').removeClass('level1'); $('.nav .parent > ul.nav-child ul').addClass('level3').removeClass('level2'); $('.nav .parent > ul.nav-child span.caret').addClass('level2').removeClass('level1'); }); // Funktion Hovereffect function menuEffekt(sublevel_ul){ if (!sublevel_ul.length) return; $(sublevel_ul).find('ul').css({"display" : "none", "visibility" : "visible", "top" : "100%"}); $(sublevel_ul).find('ul ul').css({"display" : "none", "left" : "100%" , "top" : "0"}); $("ul.menu li").hover(function(){ $(this).find('ul.dropdown-menu').first().stop(true, true).delay(200).fadeIn(500); },function(){ $(this).find('ul.dropdown-menu').first().stop(true, true).delay(200).fadeOut(500); }); }; $(document).ready(function(){ menuEffekt($("ul.menu li")); }); });
есть такое замечательное цсс свойство transition пример box {height: 20px; transition: heght 1s;} box:hover {height: 40px;} при наведении на box высота плавно за 1 сек изменится до 40 так же можно и с появлением намутить.. добавить visibility
Решил вопрос дописанием кода в основной Код (CODE): <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('.parent').addClass('dropdown'); jQuery('.parent > a').addClass('dropdown-toggle'); jQuery('.parent > a').attr('data-toggle', 'dropdown'); jQuery('.nav > .parent > a').attr('data-toggle','#'); jQuery('.parent > a').append(' <span class="caret"></span>'); jQuery('.parent > ul').addClass('dropdown-menu'); jQuery('.nav-child .parent').removeClass('dropdown'); jQuery('.nav-child .parent').addClass('dropdown-submenu'); jQuery('.dropdown-submenu > a').removeAttr('class'); jQuery('.dropdown-submenu > a').removeAttr('data-toggle', 'dropdown'); jQuery('.dropdown-submenu > a > span').remove(); jQuery('ul.nav li.dropdown').hover(function() { jQuery(this).find('.dropdown-menu').stop(true, true).delay(100).fadeIn(); }, function() { jQuery(this).find('.dropdown-menu').stop(true, true).delay(300).fadeOut(); }); }); </script>