Autor Zpráva
LukášO
Profil *
Zdravím,

mám web, který obsahuje množství animací, které se zobrazují až po najetí na určitý odkaz.
Ovšem má to ten efekt, že se animace po najetí na odkaz začne teprve stahovat a objeví se až po chvíli.
Je mi jasné, že spousta lidí namítne ať zmenším velikost těchto obrázků, ale to ja nechci nebo spíš nemůžu.

Chtěl bych tedy aby při otevření stránky se objevil nějaký div, ve kterém by byl nápis něco ve stylu web se načítá
a až po načtení všech obrázků, které si zadám se web jakoby otevřel. Nejlepší by bylo, kdyby web byl zašedlý stejně třeba jako v lightBoxu, byl uprostřed nápis načítám a jak by se obrázky načetly tak se stránka objevila.

Zkoušel jsem to pžez onload, ale to mi nějak nefungovalo.
Díky za jakoukoliv pomoc.
ninja
Profil
LukášO: navrhovane reseni by rozhodne lepsi nebylo. Co kdyz vubec nebudu chtit animace zobrazit? Stejne me chcete nutit cekat u zasedle obrazovky? Dekuji nechci.
LukášO
Profil *
Dekuji za velice funkcni reseni. V takovem pripade raci vypnete pocitac a bezte se ven probehnout. Hledam reseni, ne spekulace. Rozhodnuti co se vice hodi prosim nechte na me :)
tiso
Profil
LukášO - skús sem dať link na súčasnú podobu stránky, neviem čo si mám predstaviť pod „se animace po najetí na odkaz začne teprve stahovat a objeví se až po chvíli
LukášO
Profil *
www.atyp-design.cz
imploder
Profil
LukášO
http://www.jakpsatweb.cz/javascript/preload-obrazku.html

případně dát celému obsahu stránky v CSS display:none; a při události onload na <body> to javascriptem nastavit normálně na display:block;
LukášO
Profil *
To s tím onloadem jsem právě zoušel a přislo mi, že animace při najetí na odkaz měli pořád spoždění.
LukášO
Profil *
Ted me napadlo, ja tam ty animace totiz nemam klasicky jako <img> ale jako background divu, takze mam takovy pocit, ze ho to bez tak nenacte. Napadlo me tedy jine reseni. Nejaky div ktery bude mit visibility:hidden, v nem budou vsechny ty obrazky ktere potrebuji nacist a tomu divu nastavit onload ??
imploder
Profil
LukášO
Ano, mají spoždění, protože se stahujou až jako reakce na ty události - najíždění na odkazy. Správně by se měly načíst hned co nejdřív při vstupu na stránku jako všechno ostatní. Musí se načíst dopředu jako objekty do JS. Javascriptem se pak obrázek přepne, ale v tu dobu už je v paměti, takže se nic nestahuje a je to velice rychlé. Jak na to je vysvětleno právě tady: http://www.jakpsatweb.cz/javascript/preload-obrazku.html

Zobrazení celé stránky najednou až když je všechno načtené bych na té stránce určitě nedělal, protože animace pro její používání nejsou zásadní a někoho s pomalým připojením by to mohlo zbytečně zdržet. Takhle možná rychlý klikač s pomalejším připojením animaci neuvidí, ale to ničemu nevadí, na odkaz může kliknout i tak, takže stránka splnila svůj účel. Kdyby se čekalo se zobrazením až na stažení všech animací, tak by ten člověk neměl možnost se tam rychle proklikávat.

Že se obrázky na webu načítají až po samotném obsahu má dobrý důvod, i když dneska už to mimo mobily tak nepociťujeme.
imploder
Profil
LukášO
Nejaky div ktery bude mit visibility:hidden, v nem budou vsechny ty obrazky ktere potrebuji nacist a tomu divu nastavit onload ??
Tím se sice dosáhne toho, že se obrázky uloží na disk do cache prohlížeče (pokud nemají nastavené kešování nějak jinak), lepší a čistší řešení je však ten javascriptový preload, běžně se to používá. A obrázek pak bude nejspíš v operační paměti - ta je samozřejmě rychlejší než disk, takže ještě míň zdržení.
LukášO
Profil *
Díky, vyzkouším to.
imploder
Profil
Vždyť už máš preload použitý na této stránce
LukášO
Profil *
Já vím, ale to je trošku jiný případ.
Pokud to dobře chápu, preload se chová tak, že máš dva obrázky - první tam je vidět a druhý se objeví po najetí, a funkce preloadu je že ten druhý nezobrazí dokud není stáhlý (aby nedošlo k tomu že tem nebude žádný dokud se ten druhý nestáhne). Ovšem na té úvodní stránce webu tam na začátku žádný nemám.
habendorf
Profil
Pořád je tu možnost dát vše do jednoho obrázku a šoupat s ním.
Bubák
Profil
Pokud to dobře chápu, preload se chová tak, že máš dva obrázky - první tam je vidět a druhý se objeví po najetí
Chápeš to špatně, zpravidla se preload sice používá, jak říkáš, ale účelem preloadu je načíst obrázek, který není zobrazen.
Bubák
Profil
habendorf
Ale ten obrázek je třeba načíst při hoveru, jinak animace nepoběží od začátku. Další komplikace by byla, poku má každá animace rozdílný počet snímků.
Zatím jsem nezkoumal, jak to dělají tady: http://css.interval.cz/priklady/priklad-108-1.htm
LukášO
Profil *
Ano, každá animace má jiný počet snímků.
habendorf
Profil
No tak udělat normální preload.

tomu divu nastavit onload ??
Div nemá událost onload.
LukášO
Profil *
No nakonec asi zkončím u toho preloadu.
imploder
Profil
Ano, tady to mají dokonce bez JS. Ale to by na www.atyp-design.cz asi nešlo, protože tam se mění CSS při najetí na jiný prvek než kterému se mění vlastnosti takže se nedá použít pseudotřída :hover.
http://css.interval.cz/clanky/spousteni-animovanych-obrazku/
Bubák
Profil
imploder
V odkaze můžu mít více elementů (IMG, SPAN) a každý jde pozicovat, a třeba jim při hoveru měnit visibility.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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