|
|
|
 |
|  |
 |
JaM |
[JAVASCRIPT] Pause in un ciclo while |
21-04-2004 14:22 |
|
 |
JaM |
######

Registered: Jun 2002
Posts: 3604 (0.43 al dì)
Location: everywhere, anywhere, elsewhere...
Corso: ComDig
Anno: dott.??
Time Online: 62 Days, 16:55:46 [...]
Status: Offline
Edit | Report | IP: Logged |
[JAVASCRIPT] Pause in un ciclo while
Ho uno javascript che deve generarmi una finestra delle dimensioni di una foto.
A volte capita che il precaricamento della foto non sia immediato e cosi' ottengo una finestra di dimensioni sbagliate (le dimensioni della foto precedente)
Ho fatto allora queste due funzioni, che vengono richiamate in sequenza con un onClick:
code:
var counter, photourl, mod, flag;
var photo = new Image();
function defineVars(a,b)
{
counter=10;
flag=true;
photourl=a;
mod=b;
photo.src=(photourl);
}
function createNewWindow()
{
while(flag)
{
if (photo.complete)
{
newWindow = window.open("","","width="+photo.width+",height="+photo.height);
if (newWindow != null)
{
newWindow.document.write("<HTML>...</HTML>");
flag=false;
}
}
else
{
if (counter>0)
{
counter--;
/*QUA DOVREBBE ESSERCI UNA PAUSA*/
}
else
{
alert("Image load error");
flag=false;
}
}
}
}
Come faccio a farlo attendere un tot ad ogni ciclo prima di ricontrollare se l'immagine e' caricata?
Cercando in giro ho trovato solo le funzioni setTimeout(func, seconds) e setInterval(func, seconds), ma entrambe vogliono come parametro un'altra funzione da richiamare dopo un certo numero di secondi e io non voglio usare questo metodo. Infatti se la funzione ne richiama un'altra o richiama se stessa la popup viene bloccata da sistemi come la google toolbar perche' riconosciuta come "popup non richiesta".
|
21-04-2004 14:22 |
|
|
|  |
 |
fulminato1 |
io ho usato questo script nel mio sito per aprire ... |
21-04-2004 16:59 |
|
 |
fulminato1 |
aLTeRaZioNeGuiTaRVoiCe

Registered: Oct 2003
Posts: 2809 (0.36 al dì)
Location: a casa.
Corso: comunicazio digital
Anno: secondo?
Time Online: 30 Days, 8:54:34 [...]
Status: Offline
Edit | Report | IP: Logged |
io ho usato questo script nel mio sito per aprire le foto in pop up. dentro al filmato flash c'è un movieclip che premuto richiama questa funzione di javascript, apre un pop up delle stesse misure della foto, e clikkando sulle foto successive kiude automatikamente la precedente.dovrebbe funzionare anke kon i blokka popup, a me la prima foto la apre, se però cerco di aprirle in sequenza ne apre una si e una no.non so se sono stato kiaro, provale e vedi!
code: function ViewImage(ifile,ix,iy,ititle) {
var win;
var sWidth;
var sHeight;
ix+=10;
iy+=10;
var NS = (document.layers) ? 1 : 0;
win = window.open(ifile,"imageviewer","width="+ix+",height="+iy+",menubar=no,toolbar=no");
if (NS) {
sWidth = win.innerWidth;
sHeight = win.innerHeight;
} else {
sWidth = win.document.body.clientWidth;
sHeight = win.document.body.clientHeight;
}
if(sWidth!=ix || sHeight!=iy) {
win.close();
setTimeout("ViewImage('"+ifile+"',"+ix+","+iy+",'"+ititle+"')", 250);
return;
}
win.document.open();
win.document.write("<html><head><title>"+ititle+"</title>");
win.document.write("</head><body>");
win.document.write('<div style=" position:absolute;width:'+ix+'px;height:'+iy+'px;l
eft:0px;top:0px">');
win.document.write("<img src="+ifile+"></div></body></html>");
win.document.close();
}
__________________
www.alterazione.com www.andreaforzani.com
www.myspace.com/alterazione
www.myspace.com/festaincravilla
|
21-04-2004 16:59 |
|
|
|  |
 |
JaM |
uhm... piu' tardi provo..
... |
21-04-2004 18:10 |
|
 |
JaM |
######

Registered: Jun 2002
Posts: 3604 (0.43 al dì)
Location: everywhere, anywhere, elsewhere...
Corso: ComDig
Anno: dott.??
Time Online: 62 Days, 16:55:46 [...]
Status: Offline
Edit | Report | IP: Logged |
uhm... piu' tardi provo..
pero' usi il setTimeout, a me era proprio quello che dava problemi con il blocco popup della google toolbar...
e poi non vedo una creazione di un oggetto Image... quindi tu gli passi gia' l'oggetto precaricato da flash e quindi non hai problemi di ritardo nel preload....
|
21-04-2004 18:10 |
|
|
|  |
 |
JaM |
dal forum di html.it mi dicono che non si puo' far ... |
21-04-2004 20:02 |
|
 |
JaM |
######

Registered: Jun 2002
Posts: 3604 (0.43 al dì)
Location: everywhere, anywhere, elsewhere...
Corso: ComDig
Anno: dott.??
Time Online: 62 Days, 16:55:46 [...]
Status: Offline
Edit | Report | IP: Logged |
dal forum di html.it mi dicono che non si puo' fare una pausa e basta (la soluzione sarebbe far andare il counter tipo a 1000 invece che a 10, ma e' urenda e blocca il browser per tutto il tempo).... e una funzione ricorsiva non va bene per il blocco delle popup...
mi sa che dovro' passare le dimensioni come parametri ogni volta....
|
21-04-2004 20:02 |
|
|
|  |
 |
All times are GMT. The time now is 15:12. |
|
|
 |
|
 |
|
|
|  |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|