Autor Zpráva
Chodec
Profil
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
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
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>
přeci to jestli se spustí funkce by mělo být závislé na tom jestli fotka.png existuje, ne?

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
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
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
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';
pokud dám místo anonymní funkce rovnou alert(1); tak...
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

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:

0