Autor | Zpráva | ||
---|---|---|---|
Chodec Profil |
#1 · Zasláno: 22. 11. 2008, 17:13:06
Dá se nějak zjistit, jestli už je obrázek nahrán v paměti, když používám tento preload:
var images = new Array (); images[0] = new Image(); image[0].src = "cesta"; |
||
Leo Profil |
#2 · Zasláno: 22. 11. 2008, 17:31:03
Jednak byste si mel rozmyslet, jestli se pole bude jmenovat images nebo image, jednak musite mezi
images[0] = new Image(); a images[0].src = "cesta"; dat images[0].onload = stazeno; kde stazeno je nejaka fce, pripadne ji udelate anonymni. Leo |
||
Měsíček Profil |
#3 · Zasláno: 22. 11. 2008, 17:34:42 · Upravil/a: Měsíček
Na to bych se taky rád zeptal jakto, že
<script type="text/javascript"> var a = new Array(); a[0] = new Image(); a[0].src = "fotka.png"; a[0].onload = function () { alert(1); // Vyhodí alert náhodně (třeba po 5 refreshi pak hned 3x za sebou) } </script> EDIT: tak ne. pokud dám místo anonymní funkce rovnou alert(1); tak se zobrazí vždy, to je první věc, kterou nechápu a za druhé mi to jaksi vyvrací to co jsem si myslel dříve, že onLoad se vykoná pouze pokud se obrázek "fotka.png" načte .., ale to se stane i když "fotka.png" neexistuje, tak co to má vlastně za smysl? |
||
Chodec Profil |
#4 · Zasláno: 22. 11. 2008, 17:41:05
Dá se ale nějak zjistit, jestli daný obrázek ještě není načtený. Třeba aby se použil jiný, který už je?
|
||
Bubák Profil |
#5 · Zasláno: 22. 11. 2008, 18:51:13 · Upravil/a: Bubák
Tag IMG má událost onload.
Šlo by v HTML dát obrázku rozměry 1×1px a třebas ho vypozicovat mimo obrazovku (display:none; nejde použit kvůli prohlížeči Opera). Koukni na tento příklad: http://teststranek.kvalitne.cz/obrazek-zobrazit-nacteny.html Zdánlivě zbytečný časovač je použit kvůli prohlížeči Opera, čas může být i 0. |
||
_es Profil |
#6 · Zasláno: 22. 11. 2008, 19:32:42 · Upravil/a: _es
Měsíček
Treba zmeniť poradie priradenia vlastností src a onload. To náhodné vyhodení alertu bude asi podľa toho, či je obrázok v cache pamäti. Vtedy môže udalosť onload vzniknúť ešte pred priradením funkcie do onload. Toto zobrazuje hlásenie o načítaní správne: function hotovo(){alert('Obrázok ' + this.src + ' je načítaný!');} img = new Image(); img.onload = hotovo; img.src = 'obrazok.jpg'; To sa dá ako? Nepriraďuješ do onload náhodou návratovú hodnotu funkcie alert? Niekoľkokrát sa tu to priradenie riešilo, najlepšie to asi vysvetlil Chamurappi. Napríklad:http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=83 071 http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=82 256#15 |
||
Časová prodleva: 15 let
|
0