webForumDet fria alternativet

Slumpa bakrundsbanner

ASP

13 svar · 757 visningar · startad av appel

Medlem sedan mars 200413 inlägg
Frågan#1

Någon som vet något bra sätt att slumpa fram olika bakrundsbanner bilder?

Använder mig av koden nedan nu:

<td colspan="11" style="background-image: url(images/gfx_top.jpg); height: 200px">&nbsp;</td

Nu visar den ju bara en bild.

Men skulle vilja kunna använda mig av mer bilder, tex 2 eller 3 st.
Och gärna på något sätt där den känner av om det tex bara finns 1 bild för tillfället.

Någon som har lust att ge mig lite hjälp?

Medlem sedan mars 200413 inlägg
#2

Många som har tittat, men ingen som har några tipps var jag kan läsa mig till det?

Medlem sedan okt. 20041 556 inlägg
#3

Ett tips är att söka här på WF efter förslagsvis slump*

Medlem sedan mars 200413 inlägg
#4

Ok, använde mig av denna koden:
<%
Slumpa = int(rnd*2)+1

select case Slumpa
Case 1
'1.jpg
case 2
'2.jpg
end select
%>

Men bilderna syns inte?
Eller är jag helt fel ute?

Medlem sedan dec. 20025 483 inlägg
#5

Så här kanske du kan göra:

img = Array("gfx_top.jpg", "gfx_foo.jpg")

randomize
response.write "<td colspan=""11"" style=""background-image: url(images/" & img(int(rnd() * (ubound(img)+1))) & "); height: 200px"">&nbsp;</td>"
Medlem sedan mars 200413 inlägg
#6

Får det inte att fungera, hela raden försvinner och ingenting syns.

Medlem sedan dec. 20025 483 inlägg
#7

Då får du undersöka sökvägen till bilderna. I ditt första inlägg säger du att de ligger i images/, varför jag utgick ifrån det.

Jag har gjort en liten ändring ovan, så se till att sökvägen stämmer och testa igen.

Medlem sedan juni 2000974 inlägg
#8

Du kan göra så här:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
Function GetSubFolders(pfolder)
    Dim sFolders, fldr, file, MyPath

    For Each fldr In pfolder.SubFolders
        sFolders = sFolders & GetSubFolders(fldr)
    Next
    
    For Each file In pfolder.Files
		MyPath = Right(file.path, len(file.path) - len(rootname))
       	If Right(file.Name, 3) = "jpg" Then sFolders = sFolders & MyPath & ";"
    Next
	
    Set img = Nothing : Set fldr = Nothing
    GetSubFolders = sFolders
End function

Dim rootname, arrImages 
rootname =  Server.MapPath("pix/")
Set FSO  = Server.CreateObject("Scripting.FileSystemObject")
Set Mapp = FSO.GetFolder(rootname)

arrImages = Split(GetSubFolders(Mapp), ";")

Set Mapp = nothing : Set FSO = nothing

%>

<html>
<head>
	<title>titel</title><link rel="STYLESHEET" type="text/css" href="style.css">
<meta http-equiv="Page-Enter" content="RevealTrans(Duration=1.0, Transition=23)"></head>

<body>

<table border="1" width="100%" height="100%" align="center" cellspacing="50">
<tr align=center>
	<td valign=center>
	
	<table width="100">

	<tr>
<td valign="top">
		<%	If IsArray(arrImages) Then
	randomize
	rndNumber = Int(Rnd * UBound(arrImages))
	Response.Write "<a href=""pix.htm""><img src=""pix"& arrImages(rndNumber) &""" border=""0""></a>"
End If
		
		%>
		</td>
	</tr>
	</table>

	</td>
</tr>
</table>

</body>
</html>
Medlem sedan mars 200413 inlägg
#9

Jo sökvägen stämmer.
Och nu såg jag att jag glömmde lägga till img efter dim

Är detta rätt skrivet?
<%
img = Array("gfx_top.jpg", "gfx_top2.jpg")

randomize
response.write "<td colspan=""11"" style=""background-image: url(images/" & img(int(rnd() * (ubound(img)+1))) & "); height: 200px""> </td>"
%>

Sen undrar jag om man nu inte har 2 st bilder, går det på något göra att den hittar tex gfx_top.jpg ändå, det är orginalbilden, men ibland vill jag använda mig av flera.

Det är till en fotbollsklubbs hemsida, och ibland vill jag tex visa matchannonser för flera lag.

Medlem sedan juni 2000974 inlägg
#10

Onödigt att ha en slumpfunktion om du inte har fler bilder än en bild!
Men det är bara att fylla på din array med bildnamn och testa nu.

Medlem sedan mars 200413 inlägg
#11

Onödigt??
Ibland vill jag visa upp matchannonser för tex 2 eller 3 st olika matcher på ett snyggt sätt, ibland inte alls, då man bara använder sig av den vanliga bannern för klubben.

Medlem sedan juni 2000974 inlägg
#12

Du kanske visar alla matcher under en viss vecka? Då kan det vara x antal matcher.
Hur ska du visa dina annonser? Alltså bestämma hur många du ska visa?
Det vore nog bra att tidsbestämma dem.
Om det är ex. vecka 37 visa alla matcher som spelas under denna vecka.
Eller om du ska visa matcher mellan två datum.

Medlem sedan dec. 20025 483 inlägg
#13

appel skrev:

Jo sökvägen stämmer.
Och nu såg jag att jag glömmde lägga till img efter dim

Är detta rätt skrivet?
<%
img = Array("gfx_top.jpg", "gfx_top2.jpg")

randomize
response.write "<td colspan=""11"" style=""background-image: url(images/" & img(int(rnd() * (ubound(img)+1))) & "); height: 200px""> </td>"
%>

Sen undrar jag om man nu inte har 2 st bilder, går det på något göra att den hittar tex gfx_top.jpg ändå, det är orginalbilden, men ibland vill jag använda mig av flera.

Det är till en fotbollsklubbs hemsida, och ibland vill jag tex visa matchannonser för flera lag.

Ja, det ser ut att stämma. Oavsett antalet bilder kan du använda den koden. Du fyller endast på arrayen med de bildnamn som skall visas; skulle det nu vara en bild fungerar det också.

Medlem sedan mars 200516 inlägg
#14

Sammanställning

En gammal tråd som jag blåser liv i igen. Kan någon skriva ihop den kod som de har diskuterat här till en hel? Fick inte riktigt ihop det sista när jag försökte.
Tacksam
Peter :-)

270 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)