Класи:
elem.classList.add/remove("class") – додає/видаляє клас
elem.classList.toggle("class") – додає клас, якщо його немає, та видаляє - якщо є
elem.classList.contains("class") – перевіряє наявність класу, повертає true/false
Стилі і атрибути:
elem.style./назва стилю/ = /параметр стилю/ - встановлює один параметр стилю для елемента
elem.style./назва стилю/ = "" - видаляє стильову властивість
elem.style.cssText = `...` - додає кілька стильових властивостей списком взамін існуючих
elem.setAttribute('style', 'color: red...'). - додає кілька стильових властивостей списком через встановлення атрибуту
elem.removeAttribute('назва атр.'). - видаляє атрибут
getComputedStyle(element, [pseudo]) - дозволяє отримати значення атрибуту стилю
Координати:
pageYOffset - отримання відступу сторінки від верхнього краю (змінюється прокруткою)
pageХOffset - отримання відступу сторінки від лівого краю (змінюється прокруткою)
elem.getBoundingClientRect() - отримання координат (відносно вікна) елемента, для верху і низу елемента, для лівой і правой границі елементу, а також ширини та висоти елементу
Приклади
elem.classList.add/remove("class") - додає/видаляє класДодаємо та видаляемо класс в якому прописаний жовтий background
btn1.onclick = function (){ block1.classList.add("yellow_block"); }; btn2.onclick = function (){ block1.classList.remove("yellow_block"); };
elem.classList.toggle("class") – додає клас, якщо його немає, та видаляє, якщо є
block2.onclick = function (){ this.classList.toggle("yellow_block"); };
elem.classList.contains("class") – перевіряє наявність класу, повертає true/false
block3.onclick = function (){ this.classList.toggle("yellow_block"); var class_tf = this.classList.contains("yellow_block"); this.textContent =class_tf; };
elem.style./назва стилю/ = /параметр стилю/ - встановлює один параметр стилю для елемента
block4.onclick = function (){ this.style.backgroundColor = "orange"; };
elem.style./назва стилю/ = "" - видаляє стильову властивість
block5.onclick = function (){ this.style.backgroundColor = ""; };
style.cssText - додає кілька стильових властивостей списком взамін існуючих
block6.onclick = function (){ this.style.cssText=`color: red !important; background-color: yellow; width: 200px;` };
elem.setAttribute('style', 'color: red...') - додає кілька стильових властивостей списком
block7.onclick = function (){ // властивості та параметри в один рядок this.setAttribute('style', 'color: red; background-color: lightblue'); };
elem.removeAttribute() - видаляє атрибут
Input має атрибут size="50", видаляємо його
bl7.onfocus = function (){ this.removeAttribute('size'); };
getComputedStyle(element, [pseudo]) - дозволяє отримати значення атрибуту стилю
block8.onclick = function (){ var elem=document.querySelector('#block8'); var b = getComputedStyle(elem).width; alert (b); };
pageYOffset - отримання відступу сторінки від верхнього краю
pageXOffset - отримання відступу сторінки від лівого краю
btn3.onclick = function (){ alert ('pageYOffset= '+pageYOffset+ '\n pageXOffset= '+pageXOffset ); };
elem.getBoundingClientRect() - отримання координат (відносно вікна) елемента, для верху і низу елемента, для лівой і правой границі елементу, а також ширини та висоти елементу
block9.onclick = function (){ var coord = this.getBoundingClientRect(); this.innerHTML ="Координата Y: " +coord.y+"<br/> Координата X: " +coord.x; this.insertAdjacentHTML('beforeend', "<br/>Верх блоку top: " +coord.top); this.insertAdjacentHTML('beforeend', "<br/>Низ блоку bottom: " +coord.bottom); this.insertAdjacentHTML('beforeend', "<br/>Ліва сторона: left" +coord.left); this.insertAdjacentHTML('beforeend', "<br/>Права сторона right: " +coord.right); // ширина та висота елементу this.insertAdjacentHTML('beforeend', "<br/>Ширина блоку width: " +coord.width); this.insertAdjacentHTML('beforeend', "<br/>Висота блоку height: " +coord.height); };
абсолютні координати
block10.onclick = function (){ var coord = this.getBoundingClientRect(); var absc_y=pageYOffset+coord.y; var absc_x=pageXOffset+coord.x; this.innerHTML ="Координата Y: " +absc_y+"<br/> Координата X: " +absc_x; };
далі ✏