Autor Zpráva
Anonymní
Profil *
Představte si: Mám tři záložky (JS+CSS). Když na nějakou kliknu, tak se pomocí funkce ta jedna obarví a zbytek po jedné se obarví na bílo. Jde nějak udělat, abych nemusel vypisovat v případě více záložek u každé, aby se obarvila na bílo? Myslím to tak, že by se tam udělalo, že se obarví pouze ta záložka, která je např. červená?
Mistr
Profil
Anonymní
Máš na mysli něco takového, co je užito v hlavičce webu Jak psát web?
Anonymní
Profil *
Jo, ty záložky nějak takhle. Ale když mám tři záložky, tak script je už dost dlouhý:
<style>
#polozka1{background-color:red}
</style>
<script>
function sel(zalozka){
if(zalozka=='prvni'){
document.getElementById('polozka1').style.backgroundColor = 'red';
document.getElementById('polozka2').style.backgroundColor = 'white';
document.getElementById('polozka3').style.backgroundColor = 'white';
}
else if(zalozka=='druha'){
document.getElementById('polozka1').style.backgroundColor = 'white';
document.getElementById('polozka2').style.backgroundColor = 'red';
document.getElementById('polozka3').style.backgroundColor = 'white';
}
else if(zalozka=='treti'){
document.getElementById('polozka1').style.backgroundColor = 'white';
document.getElementById('polozka2').style.backgroundColor = 'white';
document.getElementById('polozka3').style.backgroundColor = 'red';
}

}
</script>

<div id="zalozky">Prohledat:
<span id="polozka1"><a href="#" onclick="sel('prvni');">První polo3/4ka</a></span>
<span id="polozka2"><a href="#" onclick="sel('druha');">Druhá polo3/4ka</a></span>
<span id="polozka3"><a href="#" onclick="sel('treti');">T?etí odkaz</a></span>
</div>

A kdybych chtěl záložek ještě víc, tak ten kód bude hoodně velkej. Proto bych chtěl nějak udělat, aby tam třeba bylo něco, co by obarvilo jen ty červený políčka.
tiso
Profil
1. Keď už, tak jednoduchšie by bolo nastaviť farbu na bielu a meniť farbu iba aktívnej položky na červenú
2. Na toto nepotrebuješ javascript, ide to čiste v css:
#zalozky a{background: White none;}
#zalozky a:hover{background: Red none;}
Anonymní
Profil *
tiso
no jo, ale tohle mi udělá to, že se to bude obarvovat když na to najedu myší. já potřebuju, aby se to obarvilo, když na to kliknu.
peta
Profil *
Anonymní
<style>
.z1{background-color:#f00;}
.z2{background-color:#fff;}
</style>

<script>
function sel(xObject)
{
var x,i
x = document.getElementById("zalozky").childNodes;
for (i=0;i<x.length;i++)
{
if (x[i].nodeType==1 && Boolean(x[i].nodeName=="SPAN")
{
x[i].className="z1";
}
}
xObject.className="z2";
}
</script>

<div id="zalozky">Prohledat:
<span onclick="sel(this);">První polozka</span>
<span onclick="sel(this);">První polozka</span>
<span onclick="sel(this);">První polozka</span>
</div>

Netestovano!
Podobnym zpusobem by sel i ten onclick pridat.
Ale podle mne by bylo lepsi pouzit INPUT type=radio
peta
Profil *
oprava, zavorka na konci
if (x[i].nodeType==1 && Boolean(x[i].nodeName=="SPAN"))
Anonymní
Profil *
peta
Díky moc!!!
Toto téma je uzamčeno. Odpověď nelze zaslat.