Запоминалка значения для выбранного элемента
Доброго времени суток! Прошу помочь направить мысли в нужное русло.
Имеется список серий:
<div class="block">
<a onclick="vidLoc('2713543',this,'3')">1</a>
<a onclick="vidLoc('2711882',this,'3')">2</a>
<a onclick="vidLoc('2716610',this,'3')">3</a>
</div>
Cкрипт, который при нажатии на ссылку добавит ей id и class.
$(function(){
$('.block a').click(function(){
$('a.eps').removeAttr('id');
$('.block a').removeClass('eps');
$(this).addClass('eps');
$(this).attr('id','eps');
});
});
Кнопка: <button onclick="onclickVhod()">Сохранить значение</button> И скрипт для этой кнопки, который по идее должен добавить класс для выбранной серии и сохранить его:
var parapam = document.getElementById('eps');
function onclickVhod() {
parapam.className = (parapam.className == 'raz') ? '' : 'raz';
localStorage.setItem('hide', parapam.className);
}
if(localStorage.getItem('hide') == 'raz') {
document.getElementById('eps').className = 'raz';
}
У выбранной серии после нажатия на кнопку меняется класс, всё работает, но после перезагрузки класс у выбранной ссылки слетает. Как мне запомнить класс? |
Цитата:
|
Цитата:
- куки - локальное хранилище |
ksa,
:-? |
Nezumi.May,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.eps{
color: #FF0000;
background-color: #FFFF00;
}
.block a{
font-size: 48px;
cursor: pointer;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var a = $(".block a"),
btn = $(".btn"),
indx = localStorage.getItem("indx");
a.on("click", function() {
a.not($(this).addClass("eps")).removeClass("eps");
indx = a.index(this);
localStorage.removeItem("indx")
});
indx !== null && a.eq(indx).click();
btn.on("click", function() {
indx !== null && localStorage.setItem("indx", indx)
})
});
</script>
</head>
<body>
<div class="block">
<a onclick="vidLoc('2713543',this,'3')">1</a>
<a onclick="vidLoc('2711882',this,'3')">2</a>
<a onclick="vidLoc('2716610',this,'3')">3</a>
</div>
<button class="btn">Сохранить значение</button>
</body>
</html>
|
Цитата:
Ваш вариант работает, спасибо! Но после второго захода на страницу или повторной перезагрузки сохранённые данные пропадают. Вроде так быть не должно :-? |
Цитата:
без кнопочный вариант
$(function() {
var a = $(".block a"),
btn = $(".btn"),
indx = localStorage.getItem("indx");
a.on("click", function() {
a.not($(this).addClass("eps")).removeClass("eps");
indx = a.index(this);
localStorage.setItem("indx", indx)
});
indx !== null && a.eq(indx).click();
});
оба варианта используют местоположение(индекс) нажатого элемента |
Цитата:
Спасибо! Доделала без кнопочный вариант и получилось то что нужно, даже немного лучше, чем предполагалось. :victory: |
| Часовой пояс GMT +3, время: 08:09. |