⊗jsPmStCl 382 of 505 menu

Stilizēšana ar CSS klasēm JavaScript

Iepriekšējā nodarbībā mēs iemācījāmies mainīt elementu CSS stilus, mainot style atribūtu. Visbiežāk tā nav īpaši laba ideja. Lieta tāda, ka, ja izkaisīt CSS stilus pa JavaScript kodu, nākotnē būs problemātiski mainīt vietnes dizainu, jo nāksies kārtāt JavaScript kodu, meklējot tajā ieslēptus stilus.

Ērtāk turpmākai uzturēšanai būs pievienot vai noņemt elementam CSS klases, tādējādi tos stilizējot vēlamajā veidā.

Apskatīsim piemērā. Pieņemsim, ka mums ir vairāki rindkopas:

<p>teksts1</p> <p>teksts2</p> <p>teksts3</p>

Izdarīsim tā, lai, uzklikšķinot uz jebkuras rindkopas, šī rindkopa iekrāsotos kādā krāsā, piemēram, zaļā. Lai to izdarītu, CSS failā izveidosim īpašu klasi rindkopu iekrāsošanai:

.colored { color: green; }

Klases izmantošanas priekšrocība ir tā, ka tagad varēs viegli mainīt vēlamo krāsu - lai to izdarītu, vajadzēs tikai ievietot izmaiņas CSS failā, neieliekot rokās JavaScript kodu. Tas būs īpaši ērti gadījumā, ja JavaScript kodu rakstat jūs, bet turpmāk to stilizēs kāds cits (iespējams, mazāk kvalificēts cilvēks, kurš prot strādāt tikai ar CSS).

Tātad, tagad, pēc klases ieviešanas, uzklikšķinot uz jebkuras rindkopas, var mainīt tās krāsu, vienkārši pievienojot tai mūsu klasi:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function() { this.classList.add('colored'); // pievienojam rindkopai klasi }); }

Paskaidrojiet, kāpēc es izvēlējos klases nosaukumam vārdu colored, nevis vārdu green, kas tieši norāda uz mūsu vēlamo krāsu.

Dota rindkopa. Dotas pogas 'pārsvītrot', 'padarīt treknrakstā', 'padarīt sarkanu'. Lai, nospiežot katru pogu, dotā darbība notiek ar rindkopu (kļūst sarkana, piemēram).

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt