Є два способи змінювати стиль елемента за допомогою JavaScript. Перший — встановлення властивості CSS безпосередньо у елементі. Другий — додавання або видалення значень класу.
При натисканні кнопки змінюємо колір букви (стиль) і сам текст кнопки.
// Отримуємо елементи
const btn = document.getElementById('demo1Btn');
const letter = document.getElementById('letterA');
btn.addEventListener('click', function() {
// змінюємо колір через style
letter.style.color = '#c44536';
letter.style.fontSize = '3.5rem';
this.textContent = 'Колір змінено!';
});
Натисни — збільшиться до 400px, з'явиться товста золота рамка. Повторно — повернеться.
|
|
const img = document.getElementById('portraitImg');
const btn2 = document.getElementById('frameBtn');
btn2.addEventListener('click', function() {
// перемикаємо клас — API classList.toggle
img.classList.toggle('large-frame');
this.textContent = img.classList.contains('large-frame')
? 'Початковий розмір'
: 'Портрет у рамці';
});
CSS-клас .large-frame змінює розміри та рамку. Рамка тепер працює.
Кнопка ховає/показує кота через style.display.
const catBlock = document.getElementById('catBlock');
const catBtn = document.getElementById('catBtn');
catBtn.addEventListener('click', function() {
if (catBlock.style.display === 'none') {
catBlock.style.display = 'flex';
this.textContent = 'Сховати';
} else {
catBlock.style.display = 'none';
this.textContent = 'Показати';
}
});
Імена властивостей: дефіс забирається, наступне слово з великої.
| CSS | JavaScript |
|---|---|
| background-attachment | backgroundAttachment |
| font-family | fontFamily |
| z-index | zIndex |
| float | cssFloat (зарезервоване слово) |
div.classList.add('foo', 'bar');
div.classList.remove('foo');
div.classList.toggle('active');
Кнопки додають або видаляють клас у квадрата.
block.classList.add('red-bg');
block.classList.remove('red-bg');
block.classList.toggle('blue-bg');
Це абзац, який можна сховати або показати знову. Корисно для спойлерів!
hideBtn.onclick = () =>
paragraph.style.display = 'none';
showBtn.onclick = () =>
paragraph.style.display = 'block';
Мій текст можна змінити
text.style.fontSize = '2rem';
text.style.color = '#1e56c0';
text.style.backgroundColor = '#ffecb3';
| CSS | JavaScript |
|---|---|
| background-attachment | backgroundAttachment |
| font-family | fontFamily |
| z-index | zIndex |
| float | cssFloat |
Натискай — клас "foo" додається/видаляється.
div.classList.toggle('foo');