Autor | Zpráva | ||
---|---|---|---|
yFang Profil |
#1 · Zasláno: 10. 10. 2008, 12:50:08
Na základě tohoto vlákna jsem zkoušel něco s obrázky a onload v js. Zjistil jsem, že když použiju obrazek.onload = funkce; tak to v IE funguje jenom jednou.
Pro pochopení jsem vytvořil jednoduchou ukázku: http://labs.yellowfang.wz.cz/labs/onload/ Zkuste se na to podívat v IE (díval jsem se tedy jen v 7), každý obrázek funguje pouze jednou. Nevíte, jak by se to dalo vyřešit? |
||
_es Profil |
#2 · Zasláno: 10. 10. 2008, 13:39:22
Možno v IE dochádza k vymazaniu priradenia udalosti.
Išlo by to aj bez bez .innerHTML. V <div id="box"> spraviť <img> už v kóde a meniť len .src. |
||
yFang Profil |
#3 · Zasláno: 10. 10. 2008, 13:53:43
_es
Išlo by to aj bez bez .innerHTML. V <div id="box"> spraviť <img> už v kóde a meniť len .src. To se chová úplně stejně: http://labs.yellowfang.wz.cz/labs/onload/2.html |
||
Chamurappi Profil |
#4 · Zasláno: 10. 10. 2008, 14:55:06
Reaguji na yFanga:
Jakmile už je jednou obrázek načtený v keši v rámci aktuálního okna, událost „onload“ se vyvolává okamžitě při přiřazení „src“. Ty ale funkci k „onload“ přiřazuješ až o příkaz později. Obecně je lepší nejprve si připravit událost, která zareaguje na nějaký jev, a až potom zahájit proces vedoucí k onomu jevu. |
||
yFang Profil |
#5 · Zasláno: 10. 10. 2008, 15:01:03
Chamurappi
Aha. Dík. |
||
_es Profil |
#6 · Zasláno: 10. 10. 2008, 15:01:21
yFang
To, o čo sa snažíš, ide najlepšie bez onload: <script> obr1 = new Image(); obr2 = new Image(); obr1.src = '1.jpg'; obr2.src = '2.jpg'; function zobraz(url){document.getElementById('inbox').src = url;} </script> |
||
yFang Profil |
#7 · Zasláno: 10. 10. 2008, 15:09:39
_es
Já se snažím úplně o něco jiného. :) Tohle jsem udělal jen jako jednoduchý model situace. |
||
Časová prodleva: 16 let
|
0