Autor Zpráva
Karlinho
Profil
Zdravím, mám web, který poskytuje určité návody, a byl bych rád, kdyby se mi zlepšila zpětná vazba. Představuji si to takhle:

Pod každým návodem by byl odkaz "Návod jsem si přečetl." Po kliknutí na odkaz by se pod ním objevilo hvězdičkové hodnocení "Hodnotíte návod jako prospěšný?" a po kliknutí na určitou hvězdičku by se zase pod tím objevil krátký formulář s dotazníkem.

Vím, jak bych to udělal v PHP, ale nemám ani tušení o nějaké JS funkci ohledně postupném zobrazovaní textu a hvězdiček.

Co s tím?
maks
Profil
Karlinho:
vytvoř si funkci, která bude mít parametr ID elementu, který chceš zobrazit. Asi takto:

<style>
.zobrazeny {display: block;}
</style>
<a href="" onclick="return show('hodnoceni');">Zobraz hodnoceni</a>
<div id=hodnoceni style="display: none">hvezdicky</div>
<script>
function show(id) {
    document.getElementById(id).className = 'zobrazeny'; // muzes pridat i dalsi styly te tride
    // nebo bez tridy
    // document.getElementById(id).style.display = 'block';
}
</script>
Karlinho
Profil
"hvezdicky" mi to nezobrazuje, co dělám špatně?

http://postcrossing.cz/index.php?str=test
maks
Profil
Karlinho:
psal jsem to v rychlosti, myslel jsem, že budeš trochu přemýšlet a ne jen slepě kopírovat a divit se.

<style>
#hodnoceni {display: none;}
#hodnoceni.zobrazeny {display: block;}
</style>
<a href="" onclick="return show('hodnoceni');">Zobraz hodnoceni</a>
<div id=hodnoceni>hvezdicky</div>
<script>
function show(id) {
    document.getElementById(id).className = 'zobrazeny'; // muzes pridat i dalsi styly te tride
    // nebo bez tridy
    // document.getElementById(id).style.display = 'block';
    return false;
}
</script>
Str4wberry
Profil
Zobrazit a skrývat obsah lze jednoduše přepínáním třídy, ale asi bych hodnocení zobrazil rovnou. Jeho schování medle sníží počet lidí, kteří budou hodnocení udělovat.
Karlinho
Profil
Str: Ještě o tom popřemýšlím, každopádně děkuji za odkaz na zajímavý web.
maks: Přemýšlel jsem, hrál jsem si. Nesedělo mi to, tak jsem napsal, díky.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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