Показать сообщение отдельно
  #3 (permalink)  
Старый 26.02.2018, 03:47
Аспирант
Отправить личное сообщение для wisma Посмотреть профиль Найти все сообщения от wisma
 
Регистрация: 10.02.2014
Сообщений: 32

Сообщение от j0hnik Посмотреть сообщение
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
	<style>
		.active{
			background-color: red;
		}
	</style>
</head>
<body>
	<div class="fn_switch">1</div><div></div>
	<div class="fn_switch">2</div><div></div>
	<div class="fn_switch">3</div><div></div>
	<div class="fn_switch">4</div><div></div>
	<div class="fn_switch">5</div><div></div>
	<div class="fn_switch">6</div><div></div>
	<div class="fn_switch">7</div><div></div>

	<script>
		$(function(){

			$('.fn_switch').click(function(e){

				e.preventDefault();

				$(this).next().slideToggle(300);


				if ($(this).hasClass('active')) {
					$(this).removeClass('active');
				}
				else {
					$(this).addClass('active');
				}

				var arr = $.map($('.fn_switch'), function(el, i){
					if($(el).hasClass('active')) return i;
				});

				localStorage.setItem('ind', JSON.stringify(arr));
			});

			var arr = JSON.parse(localStorage.getItem('ind'));
			if(arr){
				$('.fn_switch').filter(function(i){
					return arr.includes(i);
				}).addClass('active');
			}	
		});

	</script>
</body>
</html>


как вариант индексы запомнить
Оно то работает, но у меня не хочет
исходной код вообще сайта можно глянуть на xpro.com.ua, тестирую до полной работы на локалке(

Я даже менял названия класса fn_switch на другой, но толку не дало(
Там-же можно и увидеть что при добавлении класса active следующему диву ставится
style="display:block;"

А вот если обновить страничку, то выходит что класс Актив он добавляет, но следующий блок без display:block; (

Последний раз редактировалось wisma, 26.02.2018 в 03:52.
Ответить с цитированием