Кнопки переключения ширины столбцов и запоминание выбора
Добрый день!!Прошу помощи или подсказки как упростить данный код и сделать так чтоб запоминалась выбранная ширина колонок, например: я нажал на кнопку "показать по 4" и кол-во столбцов стало 4 и обновив страницу я все равно увидел 4 столбца, а не два.
<script>
$(document).ready(function(){
$("#button-2").click(function(){
$("#button-2").addClass("active");
$("#button-2").removeClass("nonactive");
$("#button-4").removeClass("active");
$("#button-4").addClass("nonactive");
$("#column-block").removeClass("column-block-4");
});
});
$(document).ready(function(){
$("#button-4").click(function(){
$("#button-4").addClass("active");
$("#button-4").removeClass("nonactive");
$("#button-2").removeClass("active");
$("#button-2").addClass("nonactive");
$("#column-block").addClass("column-block-4");
});
});
</script>
<style>
.nonactive {color: #aaa;}
.active {color: #222;}
#column-block {width: auto;}
.column {display: inline-block; width: 50%;}
.column-block-4 .column {width: 25%;}
</style>
<div>
<span id="button-2" class="active">показать по 2</span>
<span id="button-4" class="nonactive">показать по 4</span>
</div>
<div id="column-block" class="column-block">
<div class="column">колонка 1</div>
<div class="column">колонка 2</div>
<div class="column">колонка 3</div>
<div class="column">колонка 4</div>
</div>
|
EvgenyTryap,
гуглить примеры localStorage здесь на форуме и инете |
Поискал, читал, попробовал, но для меня это слишком непонятно и запутанно. Если есть возможность подскажите на примере любой кнопки. Особенно мне не понятно если изменяется класс колонок только при клике, то как он может сработать без клика. Спасибо!
|
Цитата:
во время клика сохранили id |
localStorage сохранение индекса нажатой кнопки
EvgenyTryap,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style>
.btn {color: #aaa; cursor: pointer;}
.btn.active {color: #222;}
#column-block { display: flex; flex-wrap: wrap;}
.column {width: 50%; border: 1px hsla(240, 100%, 50%, 1) solid; box-sizing: border-box;}
#column-block.column-block-4 .column {width: 25%;}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var num = window.localStorage.getItem('btn')||0, btn = $(".btn");
btn.on("click", function() {
if($(this).is(".active")) return;
btn.removeClass("active");
$(this).addClass("active");
$("#column-block").toggleClass("column-block-4");
var i = btn.index(this);
window.localStorage.setItem('btn',i);
}).eq(num).click()
});
</script>
</head>
<body>
<div>
<span class="btn active" >показать по 2</span>
<span class="btn">показать по 4</span>
</div>
<div id="column-block" class="column-block">
<div class="column">колонка 1</div>
<div class="column">колонка 2</div>
<div class="column">колонка 3</div>
<div class="column">колонка 4</div>
</div>
</body>
</html>
|
Спасибо!!!!Именно это мне и нужно было! Сам бы я не смог бы это сделать никогда!
|
| Часовой пояс GMT +3, время: 17:29. |