

změna css vlastnosti
Zdravím,
chtěl bych se zeptat, jestli existuje jednoduchý způsob jak změnit při události onclick CSS vlasnost. Konkrétně tady:
<style>
.pozadi-white {
background-color: white;
}
.pozadi-black {
background-color: black;
}
</style>
</head>
<body>
<?php
session_start();
function zobraz_policko($druh_policka, $id){
if ($druh_policka == "white"){?><td width="50px" height="50px" class="pozadi-white"></td> <?php ;}
if ($druh_policka == "black"){?><td width="50px" height="50px" class="pozadi-black"></td> <?php ;}
}
potřeboval bych do funkce "zobraz_policko" do vykreslení buňky přidat událost "onclick" tak, aby se přehodil styl.
Idea je nějak takto:
<td width="50px" height="50px" class="pozadi-white" OnClick="this.pozadi-black">
Prosím nebijte mě, učím se :)
Ten atribút onclick by vyzeral takto:
resp. ak to chceš prehadzovať:
Ok, toľko k otázke, teraz k tomu, ako sa to robí lepšie: Ideálne je, keď je javascriptový kód oddelený od HTML podobne, ako je CSS kód oddelený od HTML. Čiže v elemente td by si sa mal zbaviť nielen atribútov width a height, ale aj onclick.
Javascriptový kód zavesíš na elementy jednoducho tak, že v script elemente (ktorý je v zdrojovom HTML kóde umiestnený za elementom, na ktorý sa chceš zavesiť - aby bol ten element už dostupný), pridáš obsluhu nejako takto:
Keďže predpokladám, že chceš rovnako reagovať na klik na viacerých bunkách, tak najlepšie bude zavesiť sa na tabuľku, ktorá ich obsahuje:
Týmto spôsobom sa vyhneš zbytočnému pridávaniu obsluhy udalostí na N buniek, takže to bude rýchlejšie. Tento spôsob sa nazýva "event delegation".
Ďalšia vec je, že pred volaním session_start by si nemal posielať nič na výstup do tela HTTP odpovede, pretože v rámci toho volania môže byť potrebné poslať nejaké HTTP hlavičky.
Děkuji moc, to je přesně ono! Vysvětlení je naprosto jasný, hodně jsi mi pomohl ;) mějte se...