![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
ksenaf |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 6.11.2012 Репутация: нет Всего: нет |
Помогите, пожалуйста доработать скрипт.
Если нажимаем ссылку Категории, в которой есть подкатегории - они разворачиваются, а в предыдущей открытой категории подкатегории сворачиваются. Но если нажать после этого на Категорию, в которой нет подкатегорий - предыдущая открытая категория не сворачивает подкатегории, а нужно, чтобы сворачивала. Что нужно дописать в скрипте, чтобы это исправить? HTML: <ul id="menu"> <li><a href='##'>Категория 1</a> <ul> <li><a href='#'>- подкатегория 1</a></li> <li><a href='#'>- подкатегория 2</a></li> </ul> </li> <li><a href='#'>Категория 2</a></li> <li><a href='##'>Категория 3</a> <ul> <li><a href='#'>- подкатегория 1</a></li> <li><a href='#'>- подкатегория 2</a></li> </ul> </li> </ul> Скрипт: <script type="text/javascript"> $(document).ready(function() { $('ul#menu ul').each(function(i) { if ($.cookie('submenuMark-' + i)) { $(this).show().prev().removeClass('collapsed').addClass('expanded'); }else { $(this).hide().prev().removeClass('expanded').addClass('collapsed'); } $(this).prev().addClass('collapsible').click(function() { var this_i = $('ul#menu ul').index($(this).next()); if ($(this).next().css('display') == 'none') { $(this).parent('li').parent('ul').find('ul').each(function(j) { if (j != this_i) { $(this).slideUp(200, function () { $(this).prev().removeClass('expanded').addClass('collapsed'); cookieDel($('ul#menu ul').index($(this))); }); } }); // :end $(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#menu 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: '/'}); } function cookieDel(index) { $.cookie('submenuMark-' + index, null, {expires: null, path: '/'}); } </script> |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |