Nejste přihlášen/a.

Přihlásit se do poradny

 

HTML - zobrazit a skrýt něco po kliknutí na text

Od: rotorod® odpovědí: 5 změna:

dobrý den

mám text a potřebuji ho schovat pod slovo np.: více informací zde

našel jsem tento kod

<script type="text/javascript">
function toggle(obj) {
var obj=document.getElementById(obj);
if (obj.style.display == "block") obj.style.display = "none";
else obj.style.display = "block";
}
</script>

<a href="javascript: void(0);" onClick="toggle(q1)">více informací zde</a>
<div id="q1" style="display:none;">
text který zde bude napsán
</div>

chtěl bych se zeptat, ten text (více informací zde) se mi zobrazuje podtržený a hnědým písmem. Proč? to mám asi nastaveno v style.css,že? Nebo to je v tom scriptu něco? Děkuji za pomoc

 

 

5 odpovědí na otázku
Řazeno dle hodnocení

 

 

hodnocení

1x
avatar bonbon

Ano to bude pravděpodobně nastavené ve style.css (ale může i jinde i když by to bylo nepravděpodobné)

Pokud chceš aby jenom ten konkrétní odkaz byl jinou barvou tak mu můžeš přidat třídu class="nejaky-nazev” a tu by jsi potom přidal do style.css pomocí .nejaky-nazev { color: black; }

CSS není žádná věda, myslím že to by to nebylo zas tak těžké zvládnout ale někdy to může být hodně frustrující. Pokud umíš anglicky tak jsi v pohodě, můžeš si projít tutoriál od w3c který je celkem srozumitelný.

Ten javascript co máš je pěkně škaredý ale pokud ti funguje pro tvé účely tak to stačí.

 

hodnocení

0x
avatar herd
Jde o kód z devadesátách let, takhle fortranovsky se to už dnes nedělá, i když to samozřejmě funguje bez nějakých knihoven.
Vysvětlení je prosté - zbytečně text dáváš do tagu odkaz (A)
doplním konstruktivín odpoved pozdeji...
hodnocení

S poradil bys mi jak to udělat lepe?

 

hodnocení

0x
avatar herd

Nejde o nějak revoluční změnu, jen jde o logicky srozumitelnější zápis - že místo nějakých podmínek zapnuto/vypnuto jen přepínáš . Místo hrabání se přímo ve vlastnostech jen přepínás třídy . ( Na začátku je nutné rozmyslet počáteční stav elementu, zda třídu bude mít nebo ne)

DOM:

BUTTON onclick= cilovyElement.classList.toggle("aktivni")
(tedy místo A stačí BUTTON, nebo SPAN)

(nebrání nic volat toggle(aktivni);toggle(neaktivni) chceš li komplexnější logiku)

CSS:

.neaktivni {color:gray}
.aktivni {display block;font-weight:bold}

JS:

teoreticky se to obejde bez javascriptového kódu (mimo toho v onclick),
ale pokud bys měl takhle "očarovat" víc elementů, bylo bo záhodno použít malý blok javascriptu
(přesune logiku z onclick do tohoto skriptu):

document.querySelectorAll("button.spinaci").forEach(
x => {loc=x; loc.addEventListener(
event,target => target.classList.toggle("activated")
)}
)

PS: nezapomenout na jiné eventy než click: touch, focus?, keyup atd... Ne všichni mají myš, jiní mají dotykáč, někdo focusuje klávesnici :D

hodnocení

děkuji, ale omlouvám se, pro mě je toto ještě horší na pochopení co kde kam...

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]