@ole92

Менять классы с интервалом и сохранять их после перезагрузки страницы?

Доброго времени суток. Помоги пожалуйста советом.

Задача следующая:
Есть блок с классом item. Через определенные промежутки времени к этому классу добавляются(меняются) дополнительные классы item01, item02, item03. Так же нужно что бы дополнительные классы сохранялись после перезагрузки страницы.

Вот что получилось:
Классы меняются если убрать строчку var i = localStorage.getItem('logoKey'). Но вот как только я хочу сохранить значение переменной i выдает ошибку: Cannot set property 'className' of null

var arrItems = ["item item01", "item item02", "item item03"], i = 0;

setInterval(function() {
document.querySelector(".item").className = arrItems[++i == arrItems.length ? 0 : i];
var logoSave = localStorage.setItem('logoKey', i);
console.log(localStorage.getItem('logoKey'));
var i = localStorage.getItem('logoKey');
}, 3000);
  • Вопрос задан
  • 92 просмотра
Решения вопроса 2
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
https://codepen.io/anon/pen/JZGavb
<style>
	.logo, .logo2 {width: 100px; height: 100px;}
	.logo {background: green;}
	.logo2 {background: blue;}
</style>
<div class="logo"></div>
<div class="logo"></div>
<div class="logo"></div>


<script>
	setInterval(function() {
		var fl = document.querySelector('.logo'),
		fn = fl ? 'logo' : 'logo2';
		cn = fl ? 'logo2' : 'logo';
		console.log(fl, fn, cn);
		document.querySelectorAll('.'+fn).forEach(function(i) {
		i.className = cn;
		console.log(i.className);
		});
	}, 5000);

</script>


Ну, а сохранять можно в кукисах.
Ответ написан
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
Куки, localstorage.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы