| Autor | Zpráva | ||
|---|---|---|---|
| Vendcoš Profil * |
#1 · Zasláno: 25. 11. 2014, 20:37:03
Měl bych dotaz ohledně přednačítání obrázků (nebo nevím, jak bych to pojmenoval).
Svůj konkrétní příklad nemám, ale příkladem může být např. stránka http://pravednes.cz/search.page Když do edit boxu pro vyhledávání zadáváte dotaz, zobrazí se pod editem box s předvyhledaným textem a s obrázkem. Při rozbalování tohoto boxu se dané obrázky teprve načítají a dochází k probliknutí. Jde nějak udělat, aby došlo k přednačtení obrázků ještě před jejich zobrazení? Děkuji za tip |
||
| Trsak Profil |
#2 · Zasláno: 25. 11. 2014, 20:44:45
Ano, jde to například za pomocí javascriptu:
Preload obrázku |
||
| _es Profil |
#3 · Zasláno: 25. 11. 2014, 20:56:24
Vendcoš:
V JavaScripte sa dá využiť udalosť obrázka onload, ktorá nastane, keď sa obrázok úspešne načíta. No na uvedenom príklade sa mi to nezdá ako užitočný nápad. Lepšie je asi mať možnosť čítať text skôr s postupne sa zobrazujúcimi obrázkami, než nevidieť nič. Je to kontraproduktícne aj v rôznych iných situáciách, keď sa nevyužije schopnosť prehliadačov zobrazovať aj čiastočne načítaný obrázok a namiesto toho sa použije „zlepšovadlo“, že sa návštevník pozerá na nejaký otravný animovaný gif, alebo do načítania nevidí nič.
|
||
|
Časová prodleva: 11 dní
|
|||
| Vendcoš Profil * |
#4 · Zasláno: 6. 12. 2014, 22:19:15
Tak nakonec jsem to vyřešil událostí onload a je to dle mého dobré řešení (je zobrazen text a obrázky se postupně pomocí jquery.fadeIn plynule zobrazí dle načtení).
Navážu na to ještě jednou žádostí o radu. Co když mám tři obrázky a chci, abych jejich zobrazení proběhlo naráz (když ošetřím událost onload u každého zvlášť, zobrazení je postupné dle načtení obrázku). |
||
| Marschmallow Profil |
#5 · Zasláno: 6. 12. 2014, 22:27:47
Vendcoš:
A budou ty tři obrázky různě rozházené po stránce, nebo budou v jedné řádce? |
||
| Vendcoš Profil * |
#6 · Zasláno: 6. 12. 2014, 22:49:27
Marschmallow:
Omlouvám se, ještě daný příklad trochu zapletu, co když se jedná o tři linky <a></a> s obrázky jako background. Jde o to, že u dvou zůstává pozadí vždy stejné (proto se u následujících stránek zobrazí ihned) a u třetího se pozadí mění u každé stránky (proto zobrazení trochu zaostává oproti předchozím dvou) |
||
| _es Profil |
Vendcoš:
„je zobrazen text a obrázky se postupně pomocí jquery.fadeIn plynule zobrazí dle načtení“ To som nejako nepochopil. „Podľa načítania“ čoho? „Riešiš“ prkotiny. Ak sa jeden obrázok z nejakého dôvodu (chyba a pod.) nenačíta, prečo by sa nemali zobraziť už tie zvyšné načítané? Myslíš, že návštevník kladne ocení to, že sa mu niečo zobrazí neskôr, pred tým, že sa mu to isté zobrazí skôr? |
||
| Marschmallow Profil |
#8 · Zasláno: 6. 12. 2014, 23:06:45
Vendcoš:
Nechceš prostě, to, že až na obrázek odroluješ, tak se ti načte? |
||
| Vendcoš Profil * |
#9 · Zasláno: 7. 12. 2014, 10:32:24
Marschmallow:
Ne ne, lazyload nemyslím... Ten první problém z 25.11. jsem už vyřešil k obrazu svému. Teď mám tři tlačítka <div class="buttons">
<a class="button normal" id="button1" href="strana1.php"></a>
<a class="button select" id="button2" href="strana2.php"></a>
<a class="button normal" id="buttonX" href="stranaX.php"></a>
</div>
.button {width:120px;height:60px;float:left;display:block;}u nichž přes javascript nastavuji vzhled (nastavím jejich vzhled pomocí background-image a stav normal/select/hover pomoci background-position top/center/bottom) vzhled tlačítek button1, button2 je ve všech stránkách stále stejný, u tlačítka buttonX se vzhled u každé stránky mění tudiž např. při prvním načtení stránky např.158 se button1,button2 zobrazí inhed a buttonX se spožděním. Důvod je jasný, obrázek buttonu1 a 2 je už načtený, u buttonuX se musí načíst. Jde to ošetřit tak, že když vím, jaká bude následující stránka, přednačtu na aktuální stránce obrázek nasledujícího buttonu, to jsem vyzkoušel a je to OK. Ale když následující stránku neznám, tak se obrázek načítá až v rámci otevření stránky a dojde k danému vizuálnímu opoždění. Vím že to je drobnost, ale..... |
||
| _es Profil |
#10 · Zasláno: 7. 12. 2014, 13:05:29
Vendcoš:
„u nichž přes javascript nastavuji vzhled“ Z akého dôvodu? Prečo nenastavíš vzhľad „normálne“ v CSS? |
||
| Vendcoš Profil * |
#11 · Zasláno: 8. 12. 2014, 12:59:19
OK, změnu stavu a:hover nastavuji přes css, ale to nijak výše uvedený stav neovlivňuje...
|
||
|
Časová prodleva: 12 let
|
|||
0