Autor Zpráva
mikul
Profil *
Zdravím. Mám funkci v JS která se mi spustí po načtení celé stránky. Ta funkce zajišťuje, aby se mi dokola střídaly obrázky a protože je těch obrázků více tak trvá strašně dlouho než se načtou tedy i než se celá funkce spustí. Přitom by ale klidně mohla začít dřív, první obrázky už jsou načtené a mohly by se tak střídat. Na co mám navázat spuštení té funkce, aby začala téměř hned, nebo hned po načtení alespoň 2. obrázku, aby jej mohla vystřídat? Díky.
peta
Profil
mikul
Prepsat script na casovac. Vic tezko rici. Nic neni, nic rada.
Zmensit obrazky? stranka se vsim ma mit do 40k. Maji vsechny tve obrazky / nahledy do 40k ? Jestli ne, to je zdroj problemu. Zbyva jen cekat.
mikul
Profil *
Stránka je mnohem větší má okolo 4Mb - je to 90 obrázků. Nejsou tam náhledy, je to "simulace" prezentace v ppt nenapadlo mě nic lepšího jak ji umístit na web. Prostě z každěho snímku je obrázek a ty běží za sebou. Vím že ta velikost je ten problém, prostě se to spouští v <body onload... > ale onload i jiné události jsou nevhodné. Je možné aby se to spustilo dřív než to načte celé pole a nebo ho to prostě musí načíst a až pak to jede dál?

<script language="JavaScript">
<!--
pocet=89
rotator=0
obrsrc = new Array(pocet)
obrsrc[0]="snimek-0.jpg";
obrsrc[1]="snimek-1.jpg";
.
.
....až do 100

obr = new Array(pocet);
for (i=0; i < pocet; i++){
obr[i]= new Image();
obr[i].src= obrsrc[i]
}

function rotate() {
if (rotator==pocet) {rotator=0;}
document.images["obraz"].src = obrsrc[rotator];
window.setTimeout('rotate();',obrdoba[rotator]);
rotator = rotator + 1
}
DJ Miky
Profil
A co třeba načíst prvních 10 obrázků, spustit prezentaci a mezitím spustit načítání těch dalších?

Ten počet by se musel otestovat a vyladit, ale bylo by to lepší řešení…
mikul
Profil *
Ano v podstatě takhle bych to chtěl. Jen nevím jak to spustit po načtení řekněme těch 10 obrázků. Mají docela dlouhý interval na promítnutí, takže se načítají rychleji než promítají a určitě by nedošlo k tomu, že by nebyl načten obrázek který se má právě promítnout.
mikul
Profil *
Čím by se prosím dala spustit ta funkce např. po načtení třetího obrázku? Aby se spustila a dál pokračovalo načítání dalších obrázků.
Bubák
Profil
Koukni pro inspiraci na http://teststranek.kvalitne.cz/obrazek-zobrazit-nacteny.html
Záleží jen na době, na který obrázek pověsíš událost onload a jakou funkci spustí.
Zdánlivě nepochopitelný 10ms timeout tam je kvůli prohlížeči Opera, která jinak nechtěla zobrazit obrázek, pokud už byl nakešovaný, stačilo by zadat nulu, ale jistota je jistota.
mikul
Profil *
No jo jenže já to nemůžu navázat na žádný obrázek protože je mám jako prvky pole a tam nemám tag img. A onload jde jen na img a body. Jediný img který tam mám je ten jak se v něm ty obrázky střídají, a když to dám do něj tak to nezvladne prohlížeč, protože se ta funkce zřejmě pustí při každé výměně obrázku => při druhém obrázku běží 2x a celé se to zesype.
Bubák
Profil
je mám jako prvky pole a tam nemám tag img.
Vždyť ti nic nebrání dát tam tag <img>, aby tam "nestrašil", skryješ ho stylem, můžeš ho třeba vypozicovat 5000px doleva.

display:none; nejde použít kvůki prohlížeči Opera, ta obrázky s display:none; nenačítá.
Podobný výsledek, jako display:none; má kombinace absolutní pozice a visibility: hidden;, ale Opera obrázek nakešuje.
mikul
Profil *
Zkoušel jsem dát tam prostě další obrázek přímo do té stránky, a z-index em jsem ho schvoval aby nebyl vidět a na něj jsem navázal onload, ale asi protože ten JS mám v head tak to prostě spustilo až po načtení všech obrázků -mohlo to být tím???. Nejlepší by bylo něco jako "po 5 vteřínách po vejítí na stránku spusť funkci rotate" Jde něco takového udělat?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0