Autor | Zpráva | ||
---|---|---|---|
marcus33cz Profil |
#1 · Zasláno: 3. 2. 2011, 23:20:40
Mám na stránkách dva odkazy (defaultlengthA a defaultlengthB) - a potřebuji, aby při přejetí nad jedním z nich vždy změnily barvu textu (na bílou) oba z nich.
Při odjetí myši zase musí změnit barvu na původní modrou. S Javascriptem vůbec nedělám, tak jsem podle jedné stránky spatlal toto: <a href='spustit' id='defaultlengthA' onMouseOver="document.getElementById('defaultlengthB').style.color='white' document.getElementById('defaultlengthA').style.color='white'" onMouseOut="document.getElementById('defaultlengthB').style.color='#3A65A8' document.getElementById('defaultlengthA').style.color='#3A65A8'" > Odkaz 1</a> <a href='' id='defaultlengthB' onMouseOver="document.getElementById('defaultlengthA').style.color='white' document.getElementById('defaultlengthB').style.color='white'" onMouseOut="document.getElementById('defaultlengthA').style.color='#3A65A8' document.getElementById('defaultlengthB').style.color='#3A65A8'" >Odkaz 2</a> A ještě abych nezapomněl živou ukázku: http://shoutkey.com/rave Rád bych se zeptat, jestli toto nejde řešit nějak elegantněji, protože se mi nelíbí, jak je to dlouhý. :-) Zkoušel jsem to udělat přes třídu a to mi nešlo, mám ale podezření, že to byla spíš moje chyba v syntaxi než že by to nebylo možné. |
||
joe Profil |
#2 · Zasláno: 4. 2. 2011, 00:38:17 · Upravil/a: joe
Pomocí "unobtrusive javascript", tedy oddělení JavaScriptu od HTML, tak, že třeba parentovi těm odkazům dáš nějaké id a pak na všechny potomky (čili odkazy) nastavíš události onmouseover a onmouseout.
Takové věci ale už pomocí JavaScriptu neřeším, je na to lepší metoda, CSS transitions, i když ne všechny prohlížeče to zvládají (IE zatím ne, FireFox velmi pomalu i ve čtyřkové desítkové betaverzi (jakjinak), Opera dobře a jádro webkit výborně) |
||
Chamurappi Profil |
#3 · Zasláno: 4. 2. 2011, 00:55:05
Reaguji na marcuse33cz:
Změň třídu (tedy vlastnost className ) společnému rodiči, zbytek udělá CSS.
„mám ale podezření, že to byla spíš moje chyba v syntaxi“ Ukaž. Reaguji na joa: „Takové věci ale už pomocí JavaScriptu neřeším, je na to lepší metoda, CSS transitions, i když ne všechny prohlížeče to zvládají“ To si protiřečí — lepší metoda je ta, která spolehlivě funguje všude. V Exploreru jdou udělat přechody pomocí filtrů (možná s menší pomocí v behavior u) a také by to před deseti lety (nebo i teď) těžko někdo prohlásil za lepší metodu.
Když nad tím přemýšlím, tak vůbec nechápu, jak souvisí CSS transitions s tím, na co se ptá. Mohl bys dodat ukázku? |
||
joe Profil |
#4 · Zasláno: 4. 2. 2011, 01:03:35
Chamurappi:
Takové efekty dá se říct, že jsou jen pro oko, aby to vypadalo trochu lépe. Tady ale není řeč o přechodech, ale o skrývání elementů a nastavování barev. Pomocí transitions v CSS se tak vytvoří animace, která by jinak musela být psána v JavaScriptu (zbytečně), když to nyní podporují prohlížeče nativně. „Když nad tím přemýšlím, tak vůbec nechápu, jak souvisí CSS transitions s tím, na co se ptá“ Jestli jsem to pochopil dobře, problém se týká toho najíždění na bubliny (22, 44, 88 otázek), trochu bych to přestyloval a pak by to pomocí transitions právě šlo. V prohlížečích, co to nezvládají by to vypadalo stejně, ty co to zvládají, tam by to vypadalo lépe :-) |
||
Chamurappi Profil |
#5 · Zasláno: 4. 2. 2011, 01:12:22 · Upravil/a: Chamurappi
Reaguji na joa:
Furt nechápu. Vždyť se vůbec neptal na animace. Pointou otázky je změna barvy dvou odkazů naráz. |
||
joe Profil |
#6 · Zasláno: 4. 2. 2011, 01:30:19 · Upravil/a: joe
Chamurappi:
Koukám, trochu jsem ulítnul (pořád jsem z těch transitions tak nadšenej :-)), tak to pardón, ale byly by tam hezké. Nicméně to s tím přestylováním platí, udělal bych to takhle (pro marcus33cz): Jako hlavní odkazy by byly ty typy testů (22/44/88), v těchto odkazech by byl v každém vnořen například nějaký span. Při najetí třeba na 22 se přebarví text "Spustit". To samé s tím popisem, ve skutečnosti by v dokumentu byl pořád vidět. Tímto způsobem jak to máš se vyhledávače nic nedozví. Odkaz "Spustit" a "88" nevede na tu samou stránku, nevím proč mají být označeny stejně a jen ty dva? Nebo to má platit pro všechny? Můj způsob by sice nefungoval tak, že po najetí by se zase obarvil ten druhý, ale i z logického hlediska mi to nepřijde jako správné řešení. Ať si každý prostě vybere, jaký test chce... EDIT: původně jsem totiž myslel, že se jedná o něco jiného - proto ty animace. |
||
Časová prodleva: 13 let
|
0