Добрый вечер. Возник вопрос, как сделать задержку выбора при переходе в меню. Если переходить с категории "Встраиваемая техника" в "Вытяжки", то при переходе мышка наводится на категорию "Малая бытовая техника" и получается, что раскрывается уже новый список. (во вложении видно)
Сайт где это можно посмотреть
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);
});
Заранее спасибо за ответ.