Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите доработать скрипт 
:(
    Опции темы
ksenaf
  Дата 6.11.2012, 15:21 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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>
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0537 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.