<!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" data-name="11">1</div>
<div class="filter_group " style="display: block;">
<-- первый вариант имеет постоянно включеную галочку везде по умолчанию -->
<div class="filter_item ">
<a class="filter_link checked" href="#">
<i class="filter_indicator"></i>
<span data-language="features_all">Все</span>
</a>
</div>
<-- остальные варианты проклациваются и в случае нажатия сохраняется выбор, он уже сохраняется в движке -->
<div class="filter_item">
<a class="filter_link" href="#">
<i class="filter_indicator"></i>
<span>Acer</span>
</a>
</div>
<div class="filter_item">
<a class="filter_link" href="#">
<i class="filter_indicator"></i>
<span>Lenovo</span>
</a>
</div>
<div class="filter_item">
<a class="filter_link" href="#">
<i class="filter_indicator"></i>
<span>Huawei</span>
</a>
</div>
</div>
<div class="fn_switch" data-name="12">2</div>
<div class="filter_group " style="display: block;">
<-- первый вариант имеет постоянно включеную галочку везде по умолчанию -->
<div class="filter_item ">
<a class="filter_link checked" href="#">
<i class="filter_indicator"></i>
<span data-language="features_all">Все</span>
</a>
</div>
<-- остальные варианты проклациваются и в случае нажатия сохраняется выбор, он уже сохраняется в движке -->
<div class="filter_item">
<a class="filter_link" href="#">
<i class="filter_indicator"></i>
<span>Acer</span>
</a>
</div>
<div class="filter_item">
<a class="filter_link" href="#">
<i class="filter_indicator"></i>
<span>Lenovo</span>
</a>
</div>
<div class="filter_item">
<a class="filter_link" href="#">
<i class="filter_indicator"></i>
<span>Huawei</span>
</a>
</div>
</div>
<div class="fn_switch" data-name="13">3</div><div>....</div>
<div class="fn_switch" data-name="14">4</div><div>....</div>
<div class="fn_switch" data-name="15">5</div><div></div>
<div class="fn_switch" data-name="16">6</div><div></div>
<div class="fn_switch" data-name="17">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 $(el).attr('data-name');
});
localStorage.setItem('a', JSON.stringify(arr));
});
$('.fn_switch').filter(function(i){
return JSON.parse(localStorage.getItem('a')).includes($(this).attr('data-name'));
}).addClass('active').next().show();
});
</script>
</body>
</html>
</script>
</body>
</html>
я имел ввиду вот так... Скрипт же открывает блок, а в ксс я и так могу скрыть...
Сейчас он у нас открывает блок и запоминает то что открылось, но если пользователь ничего не выбрал - он дальше держит открытым блок, если зайти через энное время то блок будет открытым, но а как тогда его скрывать при выборе ВСЕ?
<span data-language="features_all">Все</span>
fn_switch > filter_group > filter_item > filter_link checked
.filter_group .filter_item .checked:first-of-type{
display: none;
}
Так он скрывает только надпись Все...