Задержка в при выборе меню
Вложений: 1
Добрый вечер. Возник вопрос, как сделать задержку выбора при переходе в меню. Если переходить с категории "Встраиваемая техника" в "Вытяжки", то при переходе мышка наводится на категорию "Малая бытовая техника" и получается, что раскрывается уже новый список. (во вложении видно)
Сайт где это можно посмотреть http://mirbt.com/ Как можно сделать задержку при переходе по меню, т.е. если мы навели мышкой на "Встраиваемая техника" и потом в выпадающих категориях хотим выбрать "Вытяжки" и курсором проводим через категорию "Малая бытовая техника", то не нам сразу не надо раскрывать подкатегории из "Малая бытовая техника". Пробовал вставлять setTimeout не получается, может что-то не так делаю. Файл js находится тут: http://www.mirbt.com/js/home.js Вот код: var mnu_aClose = function(event) { menuTimeout = setTimeout( function() { $j(".menu-overlay-a").remove(); $j('.aside').find('ul.node').css('display', 'none'); }, 100); } $j(document).ready(function(){ // При наведении на категорию, выводим подкатегории $j('.aside .menu-expander li a').mouseover(function() { if (menuTimeout!=null) clearTimeout(menuTimeout); var max = 0; var nlevel = parseInt($j(this).parents('ul').attr('level')) + 1; $j('.aside .menu-expander ul.level'+nlevel).css('display', 'none'); var ul = $j(this).parent().find('ul:first'); ul.css('top', -($j(this).parent().position().top+4)+'px'); ul.css('display', 'block'); var lis = $j(".aside .menu-expander .level1 li"); var uls = $j(".aside .menu-expander ul"); var ww = 0; for (var i=0;i<lis.length;i++) { if ($j(lis[i]).outerHeight()>max) max=$j(lis[i]).outerHeight(); } for (var i=0;i<uls.length;i++) { if ($j(uls[i]).css("display")=="block") ww+=$j(uls[i]).outerWidth(); } //$j(".aside .menu-expander").css({width: ww+"px", height: max+"px"}); if ($j(this).parents(".opera").length>0) { $j($j(this).parent().find("ul")[0]).find("li.service .tl").css({height: (-10+$j($j(this).parent().find("ul")[0]).outerHeight())+"px"}); $j($j(this).parent().find("ul")[0]).find("li.service .tr").css({height: (-10+$j($j(this).parent().find("ul")[0]).outerHeight())+"px"}); } }); $j(".aside .menu-expander li").mouseenter(function() { if ($j(".menu-overlay-a").length==0) $j("<div class='menu-overlay-a'></div>").appendTo(document.body); }); // закрытие подкатегорий, если убираем мышку с категории $j('.aside .menu-expander').add(".aside").bind("mouseleave click", mnu_aClose); $j('.menu-overlay-a').bind("mousemove", mnu_aClose); }); Заранее спасибо за ответ. |
Никто не подскажет? Никто не сталкивался с такой проблемой? :)
|
Часовой пояс GMT +3, время: 02:27. |