Autor Zpráva
Kejkířka
Profil *
Potřebovala bych místo tří tlačítek jen jedno - které by postupně označovalo tyto odstavce od zhora dolů. Děkuji za pomoc - mne se to dneska ne a ne povést :-(

<p class="pokus">Odstavec s indexem [0].</p>
  <p class="pokus">další odstavec s indexem [1].</p>
  <p class="pokus">Ještě jeden odstavec s indexem [2]..</p>
</div>



<button onclick="zmena1()">Zvýrazni odstavec 1</button>

<button onclick="zmena2()">Zvýrazni odstavec 2</button>

<button onclick="zmena3()">Zvýrazni odstavec 3</button>


<p>...</p>

<script>
function zmena1() {
   
  var x = document.getElementsByClassName("pokus");
    x[0].style.backgroundColor = "gold";
}
function zmena2() {
   
  var x = document.getElementsByClassName("pokus");
    x[1].style.backgroundColor = "gold";
}
function zmena3() {
   
  var x = document.getElementsByClassName("pokus");
    x[2].style.backgroundColor = "gold";
}






</script>
Dan Charousek
Profil
Kejkířka:
Stačí nad tou kolekcí, kterou vrací getElementsByClassName() proiterovat:

var odstavce = document.getElementsByClassName("pokus");
for(var i = 0; i < odstavce.length; i++) {
    odstavce[i].style.backgroundColor = "gold";
}

Jen doplním, že IE 8 getElementsByClassName() nezná, takže tam to nebude fungovat.
anonymnii
Profil *
Dan Charousek:
Jen doplním, že IE 8 getElementsByClassName() nezná, takže tam to nebude fungovat.
A proto nepoužijeme hledání podle třídy, ale getElementsByTagName, ze? Pak tk fungovat bude.
Dan Charousek
Profil
anonymnii:
ze?
Ne.
To už je na Kejkířce jestli bude chtít zachovat kompatibilitu s IE8. Proto jsem na to jen upozornil. Věřím, že když by chtěla podporu i pro IE8, tak se ozve sama a až potom by bylo k diskusi jakým způsobem toho docílit.
Chamurappi
Profil
Reaguji na anonymniiho:
Nebo document.querySelectorAll. Nebo nepoužíváme vůbec hledání podle třídy…


Reaguji na Dana Charouska:
Z použití méně kompatibilního řešení pravděpodobně žádný užitek mít nemůže.
Kejkířka
Profil *
Dan Charousek:
Díky, možná dělám chybu. ale tvůj script mi označí všechny odstavce naráz. já bych to potřebovala označovat postupně - 1. klik - obarví jen první odstavec, 2. klik jen druhý....

Potřebuji to na výuku z interaktivní tabule kdy každým klikem zvýrazním v delším textu důležitou pasáž. Používám Chrome.
Keeehi
Profil
Kejkířka:
A nebylo by lepší použít něco jiného. Něco co je k prezentování přímo určeno? Třeba PowerPoint či jeho alternativy? Je to lepší než znovu vynalézt kolo.
Chamurappi
Profil
Reaguji na Kejkířku:
Animované zvýraznění
Možná jsem to vytvořil víc postupné, než bylo požadováno :-)


Reaguji na Keeehiho:
Když mám něco prezentovat já, tak také sáhnu po webových jazycích… a bývám s tím celkem spokojený. PowerPoint bych neměl tak dobře pod kontrolou. Ale rozhodně nejsem běžný uživatel.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: