Autor | Zpráva | ||
---|---|---|---|
crossbone Profil * |
#1 · Zasláno: 29. 10. 2008, 23:39:50
čau, potřebuju pomoct, nefunguje mi tenhle script tak jak by měl, kolečko se prostě nezobrazí a obrázky se jako načítají 2x :-O
function preload() { //images=document.getElementsByTagName('img'); for(var i=0;i<document.images.length;i++) { document.images[i].style.visibility='hidden'; document.images[i].style.background='url(loading_kolo.gif)'; document.images[i].onLoad=back(i); } } function back(id) { document.images[id].style.visibility='visible'; document.images[id].style.background='none'; } window.onload=preload; |
||
Chamurappi Profil |
#2 · Zasláno: 29. 10. 2008, 23:47:31
Reaguji na crossbone:
„document.images[i].onLoad=back(i);“ Na první pohled mě praštily do očí dvě drobnosti: 1) Událost je „onload“, s malým L. 2) Přiřazuješ k ní výsledek funkce back, nikoliv funkci samotnou. Viz nedávná debata o stavu načtení obrázku. |
||
crossbone Profil * |
#3 · Zasláno: 30. 10. 2008, 00:02:28
tak ten jeden řádek jsem změnil ale stále to nefunguje, pořádně nechápu ten rozdíl a ani nevím jestli to mám dobře...
document.images[i].onload=function (i) {back(i);}; ps: díky za rychlou odpověď, nečekal sem že tu vtuhle hodinu někdo bude :) |
||
Chamurappi Profil |
#4 · Zasláno: 30. 10. 2008, 00:08:36
Reaguji na crossbone:
Když ten jeden řádek přepíšu/zašmodrchám, aby fungoval dle potřeby, tak ho zřejmě pořádně nepochopíš. Uděláme to tedy jinak — přímočařeji: function preload() { //images=document.getElementsByTagName('img'); for(var i=0;i<document.images.length;i++) { document.images[i].style.visibility='hidden'; document.images[i].style.background='url(loading_kolo.gif)'; document.images[i].onload=function() { this.style.visibility='visible'; this.style.background='none'; }; } }; window.onload=preload; |
||
crossbone Profil * |
#5 · Zasláno: 30. 10. 2008, 00:15:04
tvůj kód jsem zkopíroval - ale stále nefunguje...
jde mi o to loadovací kolečko než se načte obrázek - to ti zřejmě došlo... teď to dělá to, že to dá obrázku visibility: hidden; ale pokud se má provýst ta funkce tak se zřejmě neprovede?? obrázek stále není vidět... nevím co stim? z této diskuse jsem toho moc nepobral |
||
crossbone Profil * |
#6 · Zasláno: 30. 10. 2008, 00:28:14
je to tak, ta funkce se neprovede, a to visibility se taky neprovede hned ale až po načtení všech obrázků, není to tím že tu funkci volám až na
window.onload ? |
||
Chamurappi Profil |
#7 · Zasláno: 30. 10. 2008, 00:32:54
Reaguji na crossbone:
Aha. Je :-) Událost onload na celém okně se skutečně vyvolává až po načtení všech <img>. Dej tedy někam na konec HTML kódu: <script> preload(); </script> |
||
crossbone Profil * |
#8 · Zasláno: 30. 10. 2008, 00:34:24
tak jsem to udělal... teď to funguje ale né pořád dostatečně... chci říct, nezobrazuje se to kolečko, podívej se sám
|
||
crossbone Profil * |
#9 · Zasláno: 30. 10. 2008, 00:35:20
toto sem dal nakonec kódu
<script type="text/javascript" src="js/void.js"></script> |
||
Časová prodleva: 16 let
|
0