JavaScript-те активация стильдерін ауыстыру
Алдыңғы сабақта біз ұяшықтарды оларды басу арқылы белсендіруді үйрендік. Енді түстердің ауысуын жасайық: бірінші ұяшық қызыл түске, екінші ұяшық - жасыл түске, үшінші ұяшық - тағы да қызыл түске боялсын және т.с.с.
Бұл мәселені шешу үшін бізге екі CSS класы қажет болады:
.color1 {
background: red;
}
.color2 {
background: green;
}
Сипатталған ауыстыруды жүзеге асырайық:
let tds = document.querySelectorAll('#table td');
let color = 'color1';
for (let td of tds) {
td.addEventListener('click', function() {
if (color == 'color1') {
color = 'color2'
} else {
color = 'color1'
}
this.classList.add(color);
});
}
Менің кодымды талдаңыз, содан кейін осы мәселенің шешімін өздігіңізше қайталаңыз.
Массивтен көптеген түстерді ауыстыру
Енді екі түсті емес, кез келген санды ауыстырғымыз келеді делік. Ол үшін CSS кластарының массивін сақтайық:
let colors = ['color1', 'color2', 'color3'];
Кластарымыздың түстерін жазайық:
.color1 {
background: red;
}
.color2 {
background: green;
}
.color3 {
background: yellow;
}
Енді ауыстыруды жүзеге асырайық:
let tds = document.querySelectorAll('#table td');
let i = 0;
let colors = ['color1', 'color2', 'color3'];
for (let td of tds) {
td.addEventListener('click', function() {
this.classList.add(colors[i]);
i++;
if (i == colors.length) {
i = 0;
}
});
}
Менің келтірген кодымның қалай жұмыс істейтінін түсіндіріңіз.