[javascript] Refresh immagine random
Ho creato uno script che mi prende delle immagini random da una cartella ma ora vorrei che si aggiornassero ogni tot secondi e non ogni volta che si aggiorna la pagina. Come si può fare?
Ho visto il comando setInterval e ho provato a metterlo cosi
Ma mi carica tutta la pagina e in ogni caso rimane tipo impallato nel caricamento
<script type="text/javascript" language="JavaScript"> NumberOfImagesToRotate = 3; FirstPart = '<img src="random/immagine'; LastPart = '.jpg" width="300" style="float:left;margin: 10px">'; function random(){ var r = Math.ceil(Math.random() * NumberOfImagesToRotate); document.write(FirstPart + r + LastPart); } </script>
Ho visto il comando setInterval e ho provato a metterlo cosi
<HTML> <HEAD> <script type="text/javascript" language="JavaScript"> NumberOfImagesToRotate = 3; FirstPart = '<img src="random/immagine'; LastPart = '.jpg" width="300" style="float:left;margin: 10px">'; function random(){ var r = Math.ceil(Math.random() * NumberOfImagesToRotate); document.write(FirstPart + r + LastPart); } </script> </HEAD> <body onLoad="setInterval('random()',2000)" > <div><script type="text/javascript" language="JavaScript">random();</script> </body> </html>
Ma mi carica tutta la pagina e in ogni caso rimane tipo impallato nel caricamento
Risposte
ho fatto cosi e sembra funzionare
Ma non capisco perchè se faccio cosi nel body:
la prima immagine non si vede.Cioè tutto quello che metto prima dello script non si vede
<script language="javascript"> var refreshrate=5; //numero di secondi tra ogni refresh var image; NumberOfImagesToRotate = 9; FirstPart ="images/stories/Kart/random/immagine"; LastPart = ".jpg"; function refresh(){ var r = Math.ceil(Math.random() * NumberOfImagesToRotate); image=FirstPart + r + LastPart; document.images["pic"].src=image+"?"+new Date(); setTimeout('refresh()', refreshrate*1000); } document.write('<img src="'+image+'" height="300" name="pic" style="float:left;margin: 10px>'); if(document.images)window.onload=refresh; </script>
Ma non capisco perchè se faccio cosi nel body:
<body> <center><img src="http://img.ecplaza.com/my/Mobilelist2009/sitebuilder/images/dgdfg4.jpg" width="400"></center> <div><script type="text/javascript" language="JavaScript">refresh();</script> <p>Cfsdfsfsgsgdfhghbbc </div> </body>
la prima immagine non si vede.Cioè tutto quello che metto prima dello script non si vede
Direi perché refresh() viene eseguita subito, quindi sostituisce il SRC subtag prima che venga visualizzato quello inserito nel tag IMG
quindi come potrei fare?