webForumDet fria alternativet

Slumpfunktion för att slumpa ordningen på 10 divvar

ASP

2 svar · 729 visningar · startad av medialabs

Medlem sedan mars 20023 686 inlägg
Frågan#1

Hej!

Jag har ett bildspel som består av 10 st sådana här divvar innehållandes en bild i varje. Divvarna ligger hårdkodade efter varandra. Sidan använder sig av javascript för att läsa in varje div. Den översta blir således den första bilden att visas i bildspelet.

Det jag är ute efter är att med hjälp av ASP kunna slumpa fram ordningen på dessa divvar så att besökaren möts av en slumpvis vald ordning på bilderna i bildspelet.

<div><img src="bild1.jpg"/></div>
<div><img src="bild2.jpg"/></div>
osv..

Att slumpa fram endast 1 fungerar ju ypperligt med följande kod, men går det att få den att slumpa fram en ordning av alla 8 på en gång?

<% 
Dim LowestNumber, HighestNumber, RandomNumber 
RANDOMIZE
LowestNumber = 1
HighestNumber = 8
RandomNumber = Int((HighestNumber-LowestNumber+1)*Rnd+LowestNumber)

SELECT Case RandomNumber
Case 1
Response.write "Bild1 "
Case 2 
Response.write "Bild2 "
Case 3
Response.write "Bild3 "
Case 4
Response.write "Bild4 "
Case 5
Response.write "Bild5 "
Case 6
Response.write "Bild6 "
Case 7
Response.write "Bild7 "
Case 8
Response.write "Bild8 "
End Select
%>
Medlem sedan juni 20034 013 inlägg
#2

Nu har jag inte använt ASP på tio år, men principen är sådan att du lägger in de saker som ordningen ska slumpas på i en array. I ditt fall alltså "Bild1", "Bild2", osv...

Sen gör du en loop som slumpar fram ett av värdena i arrayen, alltså slumpar ett tal mellan 1 och antalet värden i arrayen (för jag har för mig ASP bygger på VB som bygger på Basic som kallar första värdet för 1 i stället för 0).

Du skriver därefter ut det valda värdet, plockar bort det ur arrayen och kör sedan loopen gen så ett nytt värde slumpas fram.

När endast ett värde återstår avbryter du loopen, för då behöver det ju inte slumpas mer.

Medlem sedan sep. 2003448 inlägg
#3

Första värdet är faktiskt 0 och inte ett i arrayer i asp :)

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