webForumDet fria alternativet

loopa ut bilder-med array?

JavaScript

3 svar · 481 visningar · startad av clacke

Medlem sedan feb. 2003234 inlägg
Frågan#1

Jag vill loopa ut bilder efter varandra.
Säg att jag har 100st bilder där dom heter page1.jpg, page2.jpg osv.
Hur gör jag för att loopa ut dom på ett enkelt sätt? Med en array?
Så jag slipper skriva ut alla 100st..

<img src="page1.jpg">
<img src="page2.jpg">
osv....
Medlem sedan nov. 200013 890 inlägg
#2

Är det alltid exakt dessa 100 bilder som skall visas eller är det ett dynamiskt antal bilder från t.ex. en databas? Om det är 100 bilder, som inte skall uppdateras, är det väl enklast att helt enkelt klipp-och-klista in hundra rader?

Om du verkligen vill skapa bild-taggarna med Javscript kan du använda createElement().

Medlem sedan juni 20019 519 inlägg
#3

createElement() är långsamt som gatan :P om du inte kommer använda DOM:en för det så räcker det att du bygger upp en vanlig sträng och sen sätt något elements innerHTML till den strängen.

Medlem sedan nov. 200013 890 inlägg
#4

createElement() är långsamt som gatan

Det har du nog rätt i. Det här borde gå ganska snabbt:

<html>
<head>
<script type="text/javascript">
	function generateIMG(){
		var elmC = document.getElementById('container')
		var strImg = "";
		for(var i=1; i<=100; i++){
			strImg += "<img src=\"page" + i + ".jpg\" /><br />";
		}
		elmC.innerHTML = strImg;
	}
	window.onload=generateIMG;
</script>
</head>
<body>
	<div id="container"></div>
</body>
</html>
263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)