Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.12.2013, 18:55
Новичок на форуме
Отправить личное сообщение для bserg Посмотреть профиль Найти все сообщения от bserg
 
Регистрация: 11.12.2013
Сообщений: 2

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

});


Заранее спасибо за ответ.
Изображения:
Тип файла: jpg menu.jpg (20.8 Кб, 4 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 16.12.2013, 11:36
Новичок на форуме
Отправить личное сообщение для bserg Посмотреть профиль Найти все сообщения от bserg
 
Регистрация: 11.12.2013
Сообщений: 2

Никто не подскажет? Никто не сталкивался с такой проблемой?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задержка свертывания выпадающего меню Сергей123 Элементы интерфейса 11 31.01.2018 15:52
при нажатии на раздел меню поворачивается маркер Сергей545 Элементы интерфейса 5 08.12.2013 22:15
Выделение активных пунктов многоуровневого меню на jQuery Letto Элементы интерфейса 2 04.12.2013 15:30
Событие onClick при нажатии пункта меню Lex4e Общие вопросы Javascript 1 25.06.2010 18:31
при выборе в 1-ом select соот.-щая инф. отображается в другом select celencer Общие вопросы Javascript 1 24.05.2009 20:38