Autor | Zpráva | ||
---|---|---|---|
Mirek77 Profil |
#1 · Zasláno: 5. 10. 2013, 14:19:27
Dobrý den. Dal jsem si na stránku blikající slovo :
<span id="textik">slovo</span> <script> var barva1 = "black"; var barva2 = "blue"; var aktualniBarva = barva1; // počáteční nastavení interval = 2000; // milisekund function zmenBarvu(idecko){ barvaTextiku = document.getElementById(idecko).style; aktualniBarva = barvaTextiku.color = (aktualniBarva == barva1)?barva2:barva1; } setInterval("zmenBarvu('textik')",interval) </script> Když si tam dám ale jiné slovo : <span id="textik">jiné slovo</span> <script> var barva1 = "black"; var barva2 = "red"; var aktualniBarva = barva1; // počáteční nastavení interval = 2000; // milisekund function zmenBarvu(idecko){ barvaTextiku = document.getElementById(idecko).style; aktualniBarva = barvaTextiku.color = (aktualniBarva == barva1)?barva2:barva1; } setInterval("zmenBarvu('textik')",interval) </script> tak to už nefunguje.. Na stránce může být jenom jedno blikání? Nebo jak to napsat, aby blikalo slov víc? Dík |
||
_es Profil |
#2 · Zasláno: 5. 10. 2013, 20:09:53
Mirek77:
„Nebo jak to napsat, aby blikalo slov víc?“ No nejako tak, aby to fungovalo:-) Metóda document.getElementById nájde prvý element na stránke s daným id , takže to logicky nemôže fungovať, ak tam máš viac elementov s takým id .
|
||
han5vk Profil |
ID by mali mať všetky elementy rozdielne. Ten javascript hľadá jeden prvok s ID, tak použije len ten prvý a ostatné nechá tak. Použi špecifické ID pre každé slovo, alebo class (a potom getElementsByClassName() - pozor vracia pole, nie jeden objekt, takže potrebuješ v cykle zapínať tie intervaly.
OT: Prečo vlastne chceš mať na stránke blikací text? Zvykne to len rušiť, ajkeď zasa 2 sekundy nie sú až tak krátky interval. _es ma predbehol :) |
||
Chamurappi Profil |
#4 · Zasláno: 5. 10. 2013, 21:52:47
Reaguji na han5vka:
„a potom getElementsByClassName() - pozor vracia pole“ Vrací živou kolekci elementů a neexistuje v některých používaných prohlížečích, takže by ji neměl používat. |
||
weroro Profil |
Chamurappi:
Toto by nepomohlo? document.getElementsByClassName = function(trieda) { var kolekcia = []; var elementy = document.getElementsByTagName("*"); var regex = new RegExp("(^|\s)" + trieda + "(\s|$)"); for (var i = 0; i < elementy.length; i++) { if (regex.test(elementy[i].className)) { kolekcia.push(elementy[i]); } } return kolekcia; } |
||
Mirek77 Profil |
#6 · Zasláno: 6. 10. 2013, 13:32:54
han5vk:
Nevím jak použít specifické ID pro každé slovo - můžeš to ukázat názorně-vepsat přímo do tohoto zápisu? (zápis pro 3 blikající texty) : [pre] <span id="textik">AAAAAAAAAA</span> <script> var barva1 = "black"; var barva2 = "blue"; var aktualniBarva = barva1; // počáteční nastavení interval = 2000; // milisekund function zmenBarvu(idecko){ barvaTextiku = document.getElementById(idecko).style; aktualniBarva = barvaTextiku.color = (aktualniBarva == barva1)?barva2:barva1; } setInterval("zmenBarvu('textik')",interval) </script> </br></br> <span id="textik">BBBBBBBBB</span> <script> var barva1 = "black"; var barva2 = "red"; var aktualniBarva = barva1; // počáteční nastavení interval = 2000; // milisekund function zmenBarvu(idecko){ barvaTextiku = document.getElementById(idecko).style; aktualniBarva = barvaTextiku.color = (aktualniBarva == barva1)?barva2:barva1; } setInterval("zmenBarvu('textik')",interval) </br></br> <span id="textik">CCCCCCCC</span> <script> var barva1 = "black"; var barva2 = "blue"; var aktualniBarva = barva1; // počáteční nastavení interval = 2000; // milisekund function zmenBarvu(idecko){ barvaTextiku = document.getElementById(idecko).style; aktualniBarva = barvaTextiku.color = (aktualniBarva == barva1)?barva2:barva1; } setInterval("zmenBarvu('textik')",interval) </script></br></br> Dík. Podle Chamurapiho getElementsByClassName je nepoužitelné a werorovu zápisu nerozumím.. - teda kam přesně vložit textík - to bych musel zase vidět konkrétně v tom jeho zápisu.. Jinak to blikání má zvýraznit určité (varovné) cifry na stránce. |
||
_es Profil |
#7 · Zasláno: 6. 10. 2013, 13:54:42
Mirek77:
„Nevím jak použít specifické ID pro každé slovo“ No predsa tak, aby malo každé slovo iné id . Trebárs bude mať jedno id=textik1 druhé id=textik2 .
|
||
Amunak Profil |
Mirek77:
Nejlepší bude, když nebudeš blikat vůbec. Pokud to skutečně potřebuješ, použij něco jako tohle: ukázka (kód) Pár poznámek: - mělo by to mít dobrou podporu v prohlížečích (když nebude, tak to prostě zůstane na té první poloze) - všechno bliká víceméně naráz - když potřebuješ jiné nastavení, prostě funkci zavoláš znova s jiným nastavením - funguje to pouze na jednom specifikovaném elementu, který má právě jednu konkrétní třídu - nikde se nekontroluje, jestli jsi zadal všechny potřebné parametry (a jestli jsou správně) |
||
Mirek77 Profil |
#9 · Zasláno: 6. 10. 2013, 14:53:35 · Upravil/a: Mirek77
_es:
Tak jsem to napsal : <span id="textik1">AAAAAAAAAA</span> <script> var barva1 = "black"; var barva2 = "blue"; var aktualniBarva = barva1; // počáteční nastavení interval = 2000; // milisekund function zmenBarvu(idecko){ barvaTextiku1 = document.getElementById(idecko).style; aktualniBarva = barvaTextiku1.color = (aktualniBarva == barva1)?barva2:barva1; } setInterval("zmenBarvu('textik1')",interval) </script> </br></br> <span id="textik2">BBBBBBBBB</span> <script> var barva1 = "black"; var barva2 = "red"; var aktualniBarva = barva1; // počáteční nastavení interval = 2000; // milisekund function zmenBarvu(idecko){ barvaTextiku2 = document.getElementById(idecko).style; aktualniBarva = barvaTextiku2.color = (aktualniBarva == barva1)?barva2:barva1; } setInterval("zmenBarvu('textik2')",interval) </br></br> <span id="textik3">CCCCCCCC</span> <script> var barva1 = "black"; var barva2 = "blue"; var aktualniBarva = barva1; // počáteční nastavení interval = 2000; // milisekund function zmenBarvu(idecko){ barvaTextiku3 = document.getElementById(idecko).style; aktualniBarva = barvaTextiku3.color = (aktualniBarva == barva1)?barva2:barva1; } setInterval("zmenBarvu('textik3')",interval) </script></br></br> a bliká jenom AAAAAAAAAA ... Amunak: Jo, to je hezký - ten zdroják použiju.. Dík. Jinak ty blinkry potřebuju ke zvýraznění akce.. |
||
Amunak Profil |
#10 · Zasláno: 6. 10. 2013, 15:04:26
Mirek77:
„Jinak ty blinkry potřebuju ke zvýraznění akce..“ To ale obvykle jde udělat jinou, méně odpuzující formou. |
||
Mirek77 Profil |
#11 · Zasláno: 6. 10. 2013, 15:21:06
Amunak:
Například? Jinak autům zrušit blinkry - je to odpuzující..;-) |
||
Amunak Profil |
Mirek77:
Něčím, co upoutá, a nebliká. Od toho jsou grafici/designéři/reklamní specialisti. Ono blikání taky upoutá, ale většinu lidí to upoutá tak akorát na to, aby ze stránky rychle utekli a šli někam, kde na ně nic nebliká. Napadlo tě prostě udělat jen větší písmo, nebo to dát třeba do nějakým způsobem zvýrazněného místa? Nedá se nic říct, když nepošleš problémovou stránku. |
||
Mirek77 Profil |
#13 · Zasláno: 7. 10. 2013, 12:06:02
Amunak:
Ona je to (bude to) stránka, která bude trochu atypická - to blikání (něčeho podstatného) bude jen v úvodní prezentaci, která přejde na jiný text, kde už pak žádné blikání nebude.. |
||
Časová prodleva: 11 let
|
0