Есть функция которая добавляет новые стили на указанный класс при нажатии на кнопку. Перед тем как добавить стили скрипт сначало ищет совпадения с value
кнопки и data-time
у div
. Проблема заключается в следующем как при нажатии на другую кнопку с другим значением удалить стили, которые были применены в предыдущий раз?
Вот скрипт:
<script>
var cats = document.querySelector(".categories"),
click = function click(e) {
var el = document.querySelectorAll(".fil0[data-time=\"" + e.target.value + "\"]");
if (el) {
$(el).css('fill', 'red');
}
};
[].forEach.call(cats.children, function (e) {
return e.addEventListener("click", click);
});
</script>
Дивы:
<polygon class="fil0 str0" data-time="1" points="6584,19891 6584,23682 10061,23682 10061,19891 "/>
<polygon class="fil0 str0" data-time="2" points="6584,19891 6584,23682 10061,23682 10061,19891 "/>
<polygon class="fil0 str0" data-time="3" points="6584,19891 6584,23682 10061,23682 10061,19891 "/>
И кнопки:
<button type="button" value="1" class="category">1</button>
<button type="button" value="2" class="category">2</button>
<button type="button" value="3" class="category">3</button>
Бросайте предыдущие изменяемые стили в отдельный массив (обновляя каждый раз при изменении, естественно), и запоминайте их значения(их можно получить стандартными методами js https://learn.javascript.ru/styles-and-classes), если просто изменяете параметры: например, было display:inline, а Вы, в теле функции изменили на display:block и inline, соответственно, нужно запомнить, а если добавляете, какие-то новые, то можно также получать значения( “none”) или пихать вручную. P.s.: Пример кода бросить сейчас не могу тк с телефона... но, по крайней мере, постарался изложить свою мысль
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Привет, есть код, при нажатии на кнопку "Clear" должны очиститься все элемент в списке, что у меня не так?
Как можно удалить массив из объекта если этот массив пустой? Без использования es6