Autor Zpráva
Pavel Dumbrovský
Profil
Dobrý den,
potřebuju poradit. Obyčejně tento problém řeším v pohodě pomocí stylů, když mám stránky v php, tak se prostě před každý aktuálně otevřený odkaz přihodí nějaká span class, která mu dá tučnost. Jak to ale řešit, když mám fotogalerii v JS a potřebuji ztučnit číslo právě zobrazené stránky? Pomocí css to asi nepůjde, protože a:active j k ničemu, to ztuční pouze na okamžik, kdy uživatel ještě drží tlačítko myši..

Nějaký nápad?

Díky.
panther
Profil
Pavel Dumbrovský:
úplně stejně, jak když chceš najít aktivní položku v menu - je to ve FAQ PHP zde na diskusi i na spoustě jiných míst.

Pomocí css to asi nepůjde
pomoví CSS to půjde, nic jiného než CSS tučný text udělat neumí.
Trejpa
Profil
Pavel Dumbrovský:
Nějaký nápad?
Javascriptem zaměřit položku (třeba podle ID) a přiřadit/změnit jí className.

a:active j k ničemu, to ztuční pouze na okamžik, kdy uživatel ještě drží tlačítko myši..
Ano, k tomu :active slouží. Použije se na odkaz po dobu mezi kliknutím a načtením nové stránky. V době rychlého internetu je už téměř k ničemu.

panther:
nic jiného než CSS tučný text udělat neumí
Do důsledku: InnerHTML a nahrazovat řetězec "*" za "<b>*</b>".

(1000)
panther
Profil
Trejpa:
Do důsledku: InnerHTML a nahrazovat řetězec "*" za "<b>*</b>".
ano, jedna možnost to je, ale v opravdovém důsledku je to opět font-weight: bold, která je u <b> (a <strong>) defaultním CSS.
Pavel Dumbrovský
Profil
panther:
Jedná se o JS skript, při klikání na čísla stránek se rotuje obsah, stránka se nerefreshuje, takže PHP mi tady bude k ničemu.
Trejpa
To už zní lépe, bohužel jsem JS amatér, takže nedokážu provést to, co píšeš.
Ty čísla stránek pro JS galerku si generuji cyklem v PHP, takže bych jim mohl dávat třeba id="id1", id="id2", atd.. Ale nevím, jak v JS rozpoznat aktivní položku.
Trejpa
Profil
Pavel Dumbrovský:
Chtělo by to odkaz na příklad. Takto budeš dostávat jen obecné rady.

Můžeš třeba v PHP vygenerovat do JS pole s ID odkazů a odkazy reagovat na stisk/puštění tlačítka myši (na onclick máš zřejmě navázánu svou galerii) zrušením tříd všech odkazů a právě tomu kliknutému třídu s tučností nastavit (takto).
Pavel Dumbrovský
Profil
www.xpowercup.cz
jestli to pomůže, dole je ta zmíněná galerka v JS..
Pavel Dumbrovský
Profil
Trejpo? :)
Trejpa
Profil
Pavel Dumbrovský:
Díval ses na moje řešení? Zkoušel jsi ho?

Tobě jde o tyto odkazy, že?
<a href="#" class="toc">1</a>
<a href="#" class="toc">2</a>

Vytvoř je tak, jak jsem ti napsal v ukázce výše. Přidej můj skript (pomocí PHP vygeneruj to pole s ID odkazů, pokud se tedy jejich počet bude měnit) a mělo by to fungovat. No, vlastně, mají-li si zachovat současnou třídu, tak uprav skript aby ve výchozím stavu nastavoval prvkům třídu "toc" a aktivním "toc b".
Pavel Dumbrovský
Profil
Trejpa:
Díky moc, funguje to skvěle. Předtím jsem ten odkaz nějak přehlídnul. Seš hodnej, že sis dal práci s názornou ukázkou, ještě jednou děkuju, máš to u mě. :)
Jen ještě co je třeba přidat, aby byl na začátku tučně první odkaz, čili aktivní ID 1?
Trejpa
Profil
Pavel Dumbrovský:
Máš dvě možnosti:
1) při generování PHP rovnou tomu prvnímu odkazu nastav class="toc b"
2) do stránky za tu galerii vlož <script>a('id1')</script>
tayger
Profil *
je zvláštní že nikdo nezmínil možnost DOM object.style.font-weight = "bold"; :-D
Trejpa
Profil
tayger:
Úmyslně. Je praktičtější měnit třídu než konkrétní styly.
tayger
Profil *
Trejpa:
To nepopírám, ale pokud jde jen o jeden odkaz, tak proč na to brát hned kladivo? :-)
Trejpa
Profil
tayger:
Kladivem by bylo třeba tahání frameworku. Změna třídy slouží obecnosti. Vzpomene-li si za půl roku Pavel (který zatím stejně moc Javascriptu nerozumí), že odkaz nemá být (jen) tučný, ale má být (i) zelený, skloněný, na žlutém pozadí a červeně tečkovaně ohraničený, tak nemusí lézt do skriptu a měnit několik DOM vlastností, ale stačí mu jednoduchý zásah do stylu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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