Смена цвета блока по клику
Задание здесь https://jsfiddle.net/5evth11x/
Решение https://colorrect.github.io/
Приятное и не очень сложное задание, в котором нужно изменить цвет блока при клике по вложенному в него элементу. Цвет элемента указывает атрибут data-color
Общий вид кода:
var a = document.querySelectorAll('li a');
var container = document.querySelectorAll('.container');
var animateAll = document.querySelector('.animate-all');
for (var i = 0; i < a.length; i++) {
a[i].addEventListener('click', function () {
this.parentNode.parentNode.parentNode.parentNode.style.backgroundColor = this.dataset.color;
});
}
animateAll.addEventListener('click', function () {
var l;
for (l = 0; l < a.length; l++) {
setTimeout(function (l) {
for (var j = 0; j < container.length; j++) {
container[j].style.backgroundColor = a[l].dataset.color;
a[l].style.transform = "scale(1.1)";
};
}, 2000 * l + 1, l);
}
});
Сложным показалось менять цвет элемента каждые две секунды, решение нагуглила здесь http://www.cyberforum.ru/javascript/thread1963560.html
Решение https://colorrect.github.io/
Приятное и не очень сложное задание, в котором нужно изменить цвет блока при клике по вложенному в него элементу. Цвет элемента указывает атрибут data-color
Общий вид кода:
var a = document.querySelectorAll('li a');
var container = document.querySelectorAll('.container');
var animateAll = document.querySelector('.animate-all');
for (var i = 0; i < a.length; i++) {
a[i].addEventListener('click', function () {
this.parentNode.parentNode.parentNode.parentNode.style.backgroundColor = this.dataset.color;
});
}
animateAll.addEventListener('click', function () {
var l;
for (l = 0; l < a.length; l++) {
setTimeout(function (l) {
for (var j = 0; j < container.length; j++) {
container[j].style.backgroundColor = a[l].dataset.color;
a[l].style.transform = "scale(1.1)";
};
}, 2000 * l + 1, l);
}
});
Сложным показалось менять цвет элемента каждые две секунды, решение нагуглила здесь http://www.cyberforum.ru/javascript/thread1963560.html