Avatar billede l_domino_l Nybegynder
30. maj 2006 - 08:15 Der er 7 kommentarer og
1 løsning

Hjælp med lille Billed Gallery!

Jeg har nogen billeder jeg vil smide ind i et billed gallery.

Så er der en "næste" og "forrige" man kan trykke på så den går videre til næste billed. Der er forskellig antal af billeder, men alle billederne er lige store og ligger ig hvert sit bibliotek, med nummereringen 1 - ??...

Så har jeg lavet en lille kode, men det virker ikke helt optimalt!

<%
Session("Antal") = 4
Session("Vej") = request.QueryString("Vej")

If Session("Vej") = "next" Then
Session("Gallery") = Session("Gallery") + 1
End IF
   
If Session("Vej") = "prev" Then
Session("Gallery") = Session("Gallery") - 1
End IF
%>

Så skal den jo starte fra nummer 1, når man trykker næste på det sidste billed. Og så er der også det lille problem at den ikke altid vælger billed nummer 1 når man trykker på linket til det bestemte billed gallery Feks:
<a href="../gallery/fest_001.asp?picno=1">Link 001</a>

Nogen der kan hjælpe lidt?
Avatar billede ldanielsen Nybegynder
30. maj 2006 - 09:56 #1
Her er et bud. Jeg bruger et array til at styre det:

'Lav et array med billeder (viser to mulige måder):
Dim arrImages
'arrImages = Array(1, 2, 3, 4, 5, 6)
arrImages = Array("billede1.gif", "billede2.gif", "billede3.gif", "billede4.gif", "billede5.gif", "billede6.gif")


Dim picno
picno = Request.QueryString("picno")
if picno = "" then picno = "0"

'laver den om til et tal
picno = Cint(picno)
if picno < 0 then picno = UBound(arrImages)
if picno > UBound(arrImages) then picno = 0


Response.Write ("viser billedet """ & arrImages(picno) & """<br>")

Response.Write ("<a href=""?picno=" & picno - 1 & """>forrige</a><br>")
Response.Write ("<a href=""?picno=" & picno + 1 & """>næste</a><hr>")
Avatar billede l_domino_l Nybegynder
30. maj 2006 - 10:06 #2
sejt...

Er der ikke noget med at man kan sætte den til at skifte automatisk efter måske 10 sek?
Avatar billede ldanielsen Nybegynder
30. maj 2006 - 10:18 #3
jo det kan du godt:

<%@ Language=VBScript %>
<HTML>
<HEAD>
</HEAD>
<BODY>

<P><%

'Lav et array med billeder (viser to mulige måder):
Dim arrImages
'arrImages = Array(1, 2, 3, 4, 5, 6)
arrImages = Array("billede1.gif", "billede2.gif", "billede3.gif", "billede4.gif", "billede5.gif", "billede6.gif")


Dim picno
picno = Request.QueryString("picno")
if picno = "" then picno = "0"

'laver den om til et tal
picno = Cint(picno)
if picno < 0 then picno = UBound(arrImages)
if picno > UBound(arrImages) then picno = 0


Response.Write ("viser billedet """ & arrImages(picno) & """<br>")

Response.Write ("<a href=""?picno=" & picno - 1 & """>forrige</a><br>")
Response.Write ("<a href=""?picno=" & picno + 1 & """>næste</a><hr>")

Dim strNextURL
strNextURL = Request.ServerVariables("SCRIPT_NAME") & "?picno=" & picno + 1
%>

<SCRIPT LANGUAGE=javascript>
<!--
window.setTimeout("self.location = \"<%=strNextURL%>\"", 10000);
//-->
</SCRIPT>

</P>

</BODY>
</HTML>
Avatar billede l_domino_l Nybegynder
30. maj 2006 - 10:23 #4
tak tak.....
Avatar billede ldanielsen Nybegynder
30. maj 2006 - 11:00 #5
Selv tak.

Husk nu at sætte dig ind i koden, ellers lærer du jo ikke så meget af det.

Bemærk at jeg skifter undervejs så picno først er tekst, og så bliver tal. Det er egentlig ikke nødvendigt, men det er det mest korrekte.

Bemærk også at den største gyldige picno er 5, når der der seks billeder. Et array er jo indexeret fra 0 og op, ikke fra 1 og op. UBound, upper bound eller længden er altså også 5, selvom længden faktisk er 6 i mit tilfælde.

strNextURL = Request.ServerVariables("SCRIPT_NAME") & "?picno=" & picno + 1
- giver fx "http://www.domain.dk/fil.asp?picno=2"

Request.ServerVariables("SCRIPT_NAME") gør at det virker uanset hvad filen hedder.
Avatar billede l_domino_l Nybegynder
30. maj 2006 - 11:04 #6
Når det kommer til Array's står jeg af... fatter det simpelthen ikke...
Avatar billede ldanielsen Nybegynder
30. maj 2006 - 11:07 #7
Det er nu ellers enkelt nok, og meget smart:

Lav er array:
arrTest = Array("a", "b", "c", "d")

'Udskriv nummer 4 (husk det starter med 0):
Response.Write arrTest(3)

Giver d

Det må du se at lære.

Men tak for point ...
Avatar billede l_domino_l Nybegynder
30. maj 2006 - 11:26 #8
Jepper...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester