Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Cookies + Спойлер (https://javascript.ru/forum/jquery/36085-cookies-spojjler.html)

modestes 03.03.2013 21:54

Cookies + Спойлер
 
Добрый день!

Есть скрипт спойлера с куками:

if ($.cookie("blockhide")=="Свернуто") {
		$('.hide.cookies').show();
		$('a.cookies').html('<i class="icon-plus"></i>');
	} else {
		$('.hide.cookies').hide();
		$('a.cookies').html('<i class="icon-minus"></i>');
	}

	$('.view-source a.cookies').toggle(
		function(){
			$.cookie("blockhide", "Свернуто");
			$(this).siblings('.hide.cookies').stop(false, true).slideUp(500);
			$(this).html('<i class="icon-minus"></i>');
		},
		function(){
			$.cookie("blockhide", "Развернуто");
			$(this).siblings('.hide.cookies').stop(false, true).slideDown(500);
			$(this).html('<i class="icon-plus"></i>');
		}
	);

	$('.hide.nocookies').show();
	$('.view-source a.nocookies').toggle(
		function(){
			$(this).siblings('.hide.nocookies').stop(false, true).slideUp(500);
			$(this).html('<i class="icon-minus"></i>');
		},
		function(){
			$(this).siblings('.hide.nocookies').stop(false, true).slideDown(500);
			$(this).html('<i class="icon-plus"></i>');
		}
	);


Хотел сделать раскрывающиеся подкатегории при клике на плюсик возле родительской категории.
Проблема в том что при изначально закрытом состоянии спойлера, Cookies не работают, т.е при обновлении страницы спойлер снова закрывается.
Если же поменять местами параметры .hide и .show, .slideUp и .slideDown то есть сделать спойлер изначально открытым, потом закрыть его и обновить страницу то он остается закрытым, но тогда раскрываются и другие категории, подскажите пожалуйста, что не так в скрипте?

Deff 03.03.2013 22:33

modestes,
Засовывать в кук все индексы раскрытых подменю через запятушку, затем, при чтение кука, - через split(",") снова преобразовывать в массив
Имхо нужен полный код с HTML

modestes 04.03.2013 13:11

Что то не вкурил про индексы.
Структура HTML:

<ul class="maincat-list">
	<li class="maincat view-source"><a title="" href="http://phpoop.ru/ad-category/vishivka/">Категория</a>
	<a href="#" class="cookies"><i class="icon-minus"></i></a>

	<ul class="subcat-list hide cookies">
		<li class="cat-item"><a title="" href="#">Подкатегория 1</a></li>
		<li class="cat-item"><a title="" href="#">Подкатегория 2</a></li>
		</ul>
	</li>
</ul>

Deff 04.03.2013 16:03

Цитата:

Сообщение от modestes
Что то не вкурил про индексы.

Вот готовое, ток куки стоит поменять на куки от jQuery http://habrahabr.ru/post/169265/


Часовой пояс GMT +3, время: 03:13.