Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

tsvetoslav.petkov

Сменяне на Class на повече от един елемент.

Препоръчан отговор


Как е възможно да се направи скрипт, който да подбира елементи от определен клас, и го сменя с друг клас?

Имам един бутон и мислех да го направя с getElementById, но понеже са много елементите ще трябва да изпиша по 300 класа и функции. До сега търсих как да стане с getElementsByClassName.. но нещо не го разбрах. Единствения начин по който виждам е нещо подобно на това: 

window.onload=function(){    var aColl = document.getElementsByClassName('a');    var bColl = document.getElementsByClassName('b');    document.getElementById('A').addEventListener('mouseover', function(){        changeColor(aColl, 'red');    });    document.getElementById('A').addEventListener('mouseout', function(){        changeColor(aColl, 'blue');    });        document.getElementById('B').addEventListener('mouseover', function(){        changeColor(bColl, 'blue');    });        document.getElementById('B').addEventListener('mouseout', function(){        changeColor(bColl, 'red');    });}function changeColor(coll, color){       for(var i=0, len=coll.length; i<len; i++)    {        coll[i].style["background-color"] = color;    }}

Той само сменя фона и не мога да разбера как да го накарам да работи като натисна бутона.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

getElementsByClassName връща масив от елементи, отговарящи на името на класа. Идеята ми е да се итерира през всичките такива елементи.Примерче с първия клас. Това ще замени съществуващия клас с нов. 

for (var i = 0; i < aColl.length; i++) {	aColl[i].className = "newClass";};
Ако трябва старият клас да си остане, ще изглежда така: 
for (var i = 0; i < aColl.length; i++) {	aColl[i].className = aColl.className + " newClass";};

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

getElementsByClassName връща масив от елементи, отговарящи на името на класа. Идеята ми е да се итерира през всичките такива елементи.Примерче с първия клас. Това ще замени съществуващия клас с нов. 

for (var i = 0; i < aColl.length; i++) {	aColl[i].className = "newClass";};
Ако трябва старият клас да си остане, ще изглежда така: 
for (var i = 0; i < aColl.length; i++) {	aColl[i].className = aColl.className + " newClass";};

 

 

Това добре. Имам една функция на бутона "onoff", в нея какво точно трябва да се добави?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

×
×
  • Добави ново...