Autor Zpráva
mac
Profil
Nemate nekdo tipy, jak realizovat posunujici se text, aniz by dochazelo k neumernemu zatizeni CPU, tedy zpomaleni nebo "trhani" pohybu?
Text je psan velkym fontem (35em) a obsahuje desitky az stovky pismen.
Zkousel jsem jak <marquee>, tak "style top, left" vcetne ruznych clipu. Ale vypada to, ze prohlizec (ff) se snazi namalovat vzdy cely text a proto to zpomaleni.
Mozna by pomohla nejaka "chytristika" typu zobrazovat jen to, co je opravdu videt...
strncpy
Profil
Já bych tohle ani neoptimalizoval. Dneska se na webu používají různé šílenosti v js. Tohle není nic. Nad tímhle bych se ani nepozastavil.

Běžně si budou velké js knihovny spouštět několik takových timerů a všichni to používají. Nikdo netuší, že je to šíleně neefektivní. Dnešním více jádrovým procesorům to určitě problémy dělat nebude :-)
mac
Profil
hm, rychlym compum to opravdu nevadi, ale ja to potrebuji kvuli linuxovemu stroji, ktery neni nejnovejsi...
_es
Profil
Rýchle riešenie by mohlo byť:
Vygenerovať z toho základného prvku, čo sa má pohybovať, ďalších niekoľko rovnakých, s iným umiestnením a skrytých.
Potom ich postupne skrývať a zobrazovať tak, aby to vyzeralo ako pohybujúci sa text.
Alebo podobné riešenie, no prvky by sa prekrývali a nastavovalo by sa, ktorý má byť "navrchu".
Joker
Profil
_es
Vygenerovať z toho základného prvku, čo sa má pohybovať, ďalších niekoľko rovnakých, s iným umiestnením a skrytých.
Fuuuuj!

Takže vyhledávací robot nebo někdo, kdo má z nějakého důvodu vypnuté nebo nastavené vlastní CSS, hlasovou čtečku a podobně, uvidí něco jako:
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text
jezdící text

...obsah stránky...
_es
Profil
Joker
Myslel som vygenerovať JavaScriptom, čiže ten robot to uvidí len raz.
Joker
Profil
I tak mi přijde zbytečné generovat spousty totožných textů. Taky pokud text má "až stovky znaků" a posun by byl pomalejší, jsem zvědav, jak by generování několika stovek prvků a následné přepínání jejich viditelnosti zlepšilo výkon.


Bych spíš zkusil, jestli nepomůže přenastavovat třeba margin či padding nebo tak něco... ale IMHO spíš ne.
Anebo text dát třeba jako flash animaci... jezdící text stejně nebude moc podstatný co do obsahu stránky.
_es
Profil
Joker
mac chcel riešenie menej zaťažujúce procesor.
Ten môj návrh by tomu vyhovoval aj keď by to zas bolo náročnejšie na pamäť.
Možno by procesor menej zaťažoval obrázok miesto textu v marquee.
Alebo by možno pomohlo uzavrieť v marquee text do <div></div>, no skôr asi nie.
mac
Profil
Dekuji za navrhy a tesim se na da dalsi :-)

Asi bych mel trochu objasnit, k cemu ten jezdici text potrebuji. Jedna se o jakousi reklamni tabuli, kde pobezi onen text. Zadne dalsi informace (ani listy nebo menu, nic :-) ), zadny pristup uzivatelu a browser (ff) si mohu nakonfigurovat dle libosti.

Ukazka je tady:
http://mobilecity.cz/text.htm
_es
Profil
mac
Je to hnusne roztrasené.
Ľudia sa radšej pozrú niekam inam, aby ich neboleli oči, než že by ich tá "reklama" nejako upútala.
No ak stále na tom trváš, tak vyzerá, že pomôže, ak je Firefox v štandardnom režime.
Vlož na prvý riadok tento text: <!DOCTYPE HTML>
Síce sa to tiež celé trasie, no už trochu menej nepríjemne.
Pozri si dokumentáciu k <marquee>Keď to má byť čo najplynulejšie mal by byť asi parameter scrollamount čo najmenší - ideálne 1.
mac
Profil
K tomu "roztraseni" :-) To lze celkem efektivne ladit pomoci parametru scrollamount a scrolldelay, ale cim je scrolldelay mensi, tim je zobrazeni narocnejsi na cpu a v mem pripade tedy pomalejsi.
_es
Profil
mac
V tej dokumentácii máš celkom dole odkaz, pomocou čoho je to <marquee> implementované.
Čiže ak to spravíš priamo v tom, malo by to byť lepšie. No je otázne, či sa ti to vyplatí.
Joker
Profil
mac
Zkusil jsem dát dohromady takový jednoduchý skript: prvek s overflow:hidden, v něm další prvek s tím textem a skript ten vnitřní prvek posouvá uvnitř toho vnějšího.
Sice tam je taky vidět překreslování, ale na mém počítači to vypadá podstatně lépe než <marquee>.
Ukázka: skripty.webz.cz/test_scroll.html

Z nějakého důvodu to ale ve FF výrazně víc zatěžuje procesor, než v ostatních prohlížečích (na 3GHz C2D Opera a IE7 1% zatížení CPU, FF3 kolem 15%... zdá se, že čím víc textu na obrazovce, tím větší vytížení)

(edit: adresa ukázky -> odkaz)
mac
Profil
Joker, dik za ukazku. Vypada to zajimave, uvidime, co na to stroj s linuxem :-) Bohuzel to otestuji az o vikendu.

Asi bude ale opravdu potreba zobrazovat jen tu cast textu, ktera je opravdu videt. Pripadne i zkusim, jak by to fungovalo s obrazky.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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