Javascript.RU

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

Доработка раскрывающегося меню: переход по ссылке
Доброе время суток.
Помогите, пожалуйста, доработать скрипт.
Есть уже готовый для раскрывающегося меню, все отлично работает, но еще нужно, чтобы можно было переходить по ссылкам первого уровня, плюс по клику на них выезжало меню.
Работающий пример, чтобы было понятней - http://pro-potolok.com/potolki/
Код скрипта:
$(document).ready(function() {
	$('ul.nav ul, .news_sidebar ul ul').each(function(i) { // Check each submenu:
		if ($.cookie('submenuMark-' + i)) {  // If index of submenu is marked in cookies:
			$(this).show().prev().removeClass('collapsed').addClass('expanded'); // Show it (add apropriate classes)
           /* $("ul.nav li.level_1").after("<div class='li_shadow'></div>"); */
		}else {
			$(this).hide().prev().removeClass('expanded').addClass('collapsed'); // Hide it
		}
		$(this).prev().addClass('collapsible').click(function() { // Attach an event listener
			var this_i = $('ul.nav ul, .news_sidebar ul ul').index($(this).next()); // The index of the submenu of the clicked link
			if ($(this).next().css('display') == 'none') {
				$(this).next().slideDown(200, function () { // Show submenu:
					$(this).prev().removeClass('collapsed').addClass('expanded');
					cookieSet(this_i);
				});
			}else {
				$(this).next().slideUp(200, function () { // Hide submenu:
					$(this).prev().removeClass('expanded').addClass('collapsed');
					cookieDel(this_i);
					$(this).find('ul').each(function() {
						$(this).hide(0, cookieDel($('ul.nav ul, .news_sidebar ul ul').index($(this)))).prev().removeClass('expanded').addClass('collapsed');
					});
				});
			}
		return false; // Prohibit the browser to follow the link address
		});
	});
});
function cookieSet(index) {
	$.cookie('submenuMark-' + index, 'opened', {expires: null, path: '/'}); // Set mark to cookie (submenu is shown):
}
function cookieDel(index) {
	$.cookie('submenuMark-' + index, null, {expires: null, path: '/'}); // Delete mark from cookie (submenu is hidden):
}
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавный переход по пунктам горизотального меню Nailya jQuery 0 13.05.2013 17:44
Переход между элементами выпадающего меню Digan jQuery 3 10.10.2012 21:03
Подсветка выделенного элемента меню ajax-сайта crayday AJAX и COMET 0 11.05.2012 12:25
Переход по ссылке методом GET romantik2011 Серверные языки и технологии 1 06.09.2011 19:37
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36