webForumDet fria alternativet

visa ny bild efter 3 sekunder.

JavaScript

2 svar · 233 visningar · startad av htmlkalle

Medlem sedan apr. 20023 inlägg
Frågan#1

Hejsan!
jag har en massa bilder fran min senaste resa till las vegas, och jag skulle vilja gora en fotoserie pa min hemsida. Jag skulle vilja att bilderna visas en och en i tre sekunder var... Hur gor man detta??? Kan man pa nagot satt gora ett script som kanner efter nar bilden ar nerladdad och sen raknar till tre och sen visar nasta bild/sida???

Medlem sedan juni 2000310 inlägg
#2

Så här kan du göra:

Skapa en funktion som heter visabild().
För att ladda bilden innan den visas kan du skriva:

var myimage = new Image();
myimage.onload=showimage
myimage.src="bild.gif";

I slutet av funktionen skriver du.

scrollTim = setTimeout("visbild()", 3000)

Vilken gör att funktionen loopas hela tiden med 3 s. intervall.
Du måste även göra scrollTim fri i början av funktionen med:

clearTimeout(scrollTim)
Medlem sedan juni 20004 308 inlägg
#3

var myimage = new Image();
myimage.onload=showimage
myimage.src="bild.gif";

Fast du behöver inte ha med eventet onload för att ladda bilden.

Ett komplett exempel kan se ut så här;

[kod]
<img src="bild1.gif" name="myimage" width="100" height="100">
<script language="JavaScript" type="text/javascript">
var bilder = new Array("bild1.gif","bild2.gif","bild3.gif");
var bild=0;
function bytbild(){
bild=(bild==bilder.length-1)?0:bild+1;
document["myimage"].src=bilder[bild];
setTimeout("bytbild()",3000);
}
</script>
[/script]

och startas från <body> med onLoad="if(document.images){ setTimeout('bytbild()',3000); }

251 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)