Avatar billede vester Novice
21. august 2001 - 22:40 Der er 19 kommentarer og
1 løsning

Load et billede fra en liste

Hej med jer.
jeg skal lave et simpelt script, der gør det muligt at skifte et givent billede ud med et andet. Der skal skiftes hvert femte sekund og ud fra en defineret liste.

Med andre ord det samme som en gif animation kan gøre.

Er der nogle, der kan fortælle mig, hvad jeg skal gøre.
VesTer
Avatar billede jakoba Nybegynder
21. august 2001 - 23:42 #1
Det kaldes som regel et \'slideshow\' en søgning på det ord vil finde en masse af den slags scripts.
jeg har et rimelig simpelt et nederst på:
http://hjem.get2net.dk/Jakob.Aggernaes/javascript1.html

mvh JakobA
Avatar billede Slettet bruger
22. august 2001 - 16:57 #2
Der er også en masse flotte slideshows på følgende adresse:
http://www.dynamicdrive.com/dynamicindex14/index.html
Men jakoba\'s er dog lidt simplere, og derfor måske at foretrække!
Avatar billede vester Novice
27. august 2001 - 17:38 #3
Er det muligt at lave et script der til at starte med viser tre billeder: 1-2-3. Billederne skal defineres i tre forskellige kategorier.
Efter eks. tre sekunder skal billede 1 skiftes ud med et billede fra kategori 1 og tre sekunder senere skal billede 2 udskiftes med et fra kat.2 o.s.v.


Jeg smider lige 30 points mere oveni.

VesTer
Avatar billede Slettet bruger
27. august 2001 - 17:54 #4
<script>
<!--
kategoriEt = new Array()
kategoriTo = new Array()
kategoriTre = new Array()

kategoriEt[0] = \"Billede 1\"
kategoriEt[1] = \"Billede 2\"
kategoriEt[2] = \"Billede 3\"

kategoriTo[0] = \"Billede 1\"
kategoriTo[1] = \"Billede 2\"
kategoriTo[2] = \"Billede 3\"

kategoriTre[0] = \"Billede 1\"
kategoriTre[1] = \"Billede 2\"
kategoriTre[2] = \"Billede 3\"

nr = 0

function skiftBilleder() {
if (nr == 3) {
nr = 0
}
document.mitBillede1.src = kategoriEt[nr]
document.mitBillede2.src = kategoriTo[nr]
document.mitBillede3.src = kategoriTre[nr]
nr++

setTimeout(\"skiftBilleder()\", 3*1000)
}
//-->
</script>

Det var scriptet. Så skal du indsætte dette i <body>, der hvor du vil have dine billeder:
<img src=\"et-eller-andet.gif\" name=\"mitBillede1\">
<img src=\"et-eller-andet.gif\" name=\"mitBillede2\">
<img src=\"et-eller-andet.gif\" name=\"mitBillede3\">

Og til sidst skal du skifte skrive dette i <body>-tagget:
<body onLoad=\"skiftBilleder()\">

Nu bliver hvert billede skiftet ud med et nyt (som du har defineret i script\'et) hvert tredje sekund!
Avatar billede Slettet bruger
27. august 2001 - 17:55 #5
Du skal selvfølgelig ændre \"Billede 1\" o.s.v. til dine billedfiler!
Avatar billede jakoba Nybegynder
27. august 2001 - 17:57 #6
Ja det kan man godt, men dt bliver knapt så simpelt.
se evt billedsættet foroven i: http://members.tripod.com/~jakagg/

mvh JakobA
Avatar billede vester Novice
27. august 2001 - 17:59 #7
Hvis jeg så vil lave hvert billede til et link, hvad gør jeg så??
Avatar billede Slettet bruger
27. august 2001 - 18:05 #8
Nårh, du vil have sådan, at billederne bliver skiftet ud på skift!
Så ser det sådan her ud:

<script>
<!--
kategoriEt = new Array()
kategoriTo = new Array()
kategoriTre = new Array()

kategoriEt[0] = \"Billede 1\"
kategoriEt[1] = \"Billede 2\"
kategoriEt[2] = \"Billede 3\"

kategoriTo[0] = \"Billede 1\"
kategoriTo[1] = \"Billede 2\"
kategoriTo[2] = \"Billede 3\"

kategoriTre[0] = \"Billede 1\"
kategoriTre[1] = \"Billede 2\"
kategoriTre[2] = \"Billede 3\"

nr = 0
kat = 1

function skiftBilleder() {
if (nr == 3) {
nr = 0
}
if (kat == 4) {
nr = 1
}
if (kat == 1) {
katg = kategoriEt[nr]
}
if (kat == 2) {
katg = kategoriTo[nr]
}
if (kat == 3) {
katg = kategoriTre[nr]
}
bill = \"mitBillede\" + kat

document.bill.src = katg

nr++
kat++

setTimeout(\"skiftBilleder()\", 3*1000)
}
//-->
</script>
Avatar billede Slettet bruger
27. august 2001 - 18:05 #9
Skal linket være forskelligt, alt efter hvilket billede, der bliver vist?
Avatar billede Slettet bruger
27. august 2001 - 18:08 #10
Hvis det ikke skal, så er det meget enkelt:
<a href=\"link1.html\"><img src=\"et-eller-andet.gif\" name=\"mitBillede1\"></a>
o.s.v. med de andre billeder!
Avatar billede Slettet bruger
27. august 2001 - 18:13 #11
Ups, jeg har lavet en fejl i mit script. Sådan skal det se ud:

<script>
<!--
kategoriEt = new Array()
kategoriTo = new Array()
kategoriTre = new Array()

kategoriEt[0] = \"Billede 1\"
kategoriEt[1] = \"Billede 2\"
kategoriEt[2] = \"Billede 3\"

kategoriTo[0] = \"Billede 1\"
kategoriTo[1] = \"Billede 2\"
kategoriTo[2] = \"Billede 3\"

kategoriTre[0] = \"Billede 1\"
kategoriTre[1] = \"Billede 2\"
kategoriTre[2] = \"Billede 3\"

nr = 0
kat = 1

function skiftBilleder() {
if (nr == 3) {
nr = 0
}
if (kat == 4) {
nr = 1
}
if (kat == 1) {
katg = kategoriEt[nr]
}
if (kat == 2) {
katg = kategoriTo[nr]
}
if (kat == 3) {
katg = kategoriTre[nr]
}
bill = \"mitBillede\" + kat

document.bill.src = katg

if (kat == 3) {
nr++
}

kat++

setTimeout(\"skiftBilleder()\", 3*1000)
}
//-->
</script>
Avatar billede Slettet bruger
27. august 2001 - 18:14 #12
Nå, jeg kommer tilbage i morgen!
Avatar billede Slettet bruger
28. august 2001 - 09:37 #13
Hvis der skal være et forskelligt link for hvert billede, så bliver koden lidt længere:

<script>
<!--
kategoriEt = new Array()
kategoriTo = new Array()
kategoriTre = new Array()
linkEt = new Array()
linkTo = new Array()
linkTre = new Array()

kategoriEt[0] = \"Billede 1\"
kategoriEt[1] = \"Billede 2\"
kategoriEt[2] = \"Billede 3\"

linkEt[0] = \"Link 1 (til kategori 1)\"
linkEt[1] = \"Link 2 (til kategori 1)\"
linkEt[2] = \"Link 3 (til kategori 1)\"

kategoriTo[0] = \"Billede 1\"
kategoriTo[1] = \"Billede 2\"
kategoriTo[2] = \"Billede 3\"

linkTo[0] = \"Link 1 (til kategori 2)\"
linkTo[1] = \"Link 2 (til kategori 2)\"
linkTo[2] = \"Link 3 (til kategori 2)\"

kategoriTre[0] = \"Billede 1\"
kategoriTre[1] = \"Billede 2\"
kategoriTre[2] = \"Billede 3\"

linkTre[0] = \"Link 1 (til kategori 3)\"
linkTre[1] = \"Link 2 (til kategori 3)\"
linkTre[2] = \"Link 3 (til kategori 3)\"

nr = 0
kat = 1

function skiftBilleder() {
if (nr == 3) {
nr = 0
}
if (kat == 4) {
nr = 1
}
if (kat == 1) {
katg = kategoriEt[nr]
linkkat = linkEt[nr]
}
if (kat == 2) {
katg = kategoriTo[nr]
linkkat = linkTo[nr]
}
if (kat == 3) {
katg = kategoriTre[nr]
linkkat = linkTre[nr]
}
bill = \"mitBillede\" + kat
linq = \"mitLink\" + kat

document.bill.src = katg
document.linq.href = linkkat

if (kat == 3) {
nr++
}

kat++

setTimeout(\"skiftBilleder()\", 3*1000)
}
//-->
</script>

Og så skal du indsætte det her HTML i stedet for billederne:

<a href=\"ligegyldigt.html\" name=\"mitLink1\"><img src=\"et-eller-andet.gif\" name=\"mitBillede1\"></a>
<a href=\"ligegyldigt.html\" name=\"mitLink2\"><img src=\"et-eller-andet.gif\" name=\"mitBillede2\"></a>
<a href=\"ligegyldigt.html\" name=\"mitLink3\"><img src=\"et-eller-andet.gif\" name=\"mitBillede3\"></a>
Avatar billede vester Novice
28. august 2001 - 21:31 #14
>>>phoenixv !
Jeg kan desværre ikke få det til at virke. Det er som om den ignorerer scriptet helt.
Er det muligt at sørge for at billederne ikke skifter på samme tid?
Avatar billede Slettet bruger
29. august 2001 - 16:14 #15
Ja, du må meget undskylde mig, men jeg har lavet mindst fem kæmpebrølere i mit script, men nu er det gennemtestet, og nu håber jeg, det virker:

<script>
<!--
kategoriEt = new Array()
kategoriTo = new Array()
kategoriTre = new Array()
linkEt = new Array()
linkTo = new Array()
linkTre = new Array()

kategoriEt[0] = \"Billede 1 (i kategori 1)\"
kategoriEt[1] = \"Billede 2 (i kategori 1)\"
kategoriEt[2] = \"Billede 3 (i kategori 1)\"

linkEt[0] = \"Link 1 (i kategori 1)\"
linkEt[1] = \"Link 2 (i kategori 1)\"
linkEt[2] = \"Link 3 (i kategori 1)\"

kategoriTo[0] = \"Billede 1 (i kategori 2)\"
kategoriTo[1] = \"Billede 2 (i kategori 2)\"
kategoriTo[2] = \"Billede 3 (i kategori 2)\"

linkTo[0] = \"Link 1 (i kategori 2)\"
linkTo[1] = \"Link 2 (i kategori 2)\"
linkTo[2] = \"Link 3 (i kategori 2)\"

kategoriTre[0] = \"Billede 1 (i kategori 3)\"
kategoriTre[1] = \"Billede 2 (i kategori 3)\"
kategoriTre[2] = \"Billede 3 (i kategori 3)\"

linkTre[0] = \"Link 1 (i kategori 3)\"
linkTre[1] = \"Link 2 (i kategori 3)\"
linkTre[2] = \"Link 3 (i kategori 3)\"

if (document.all) {
brw = document.all
}
else if (document.layers) {
brw = document
}

nr = 0
kat = 1

function skiftBilleder() {
if (nr == 3) {
nr = 0
}
if (kat == 4) {
kat = 1
}
if (kat == 1) {
katg = kategoriEt[nr]
linkkat = linkEt[nr]
}
if (kat == 2) {
katg = kategoriTo[nr]
linkkat = linkTo[nr]
}
if (kat == 3) {
katg = kategoriTre[nr]
linkkat = linkTre[nr]
}

if (kat == 1) {
brw.mitLink1.href = linkkat
document.mitBillede1.src = katg
}
else if (kat == 2) {
brw.mitLink2.href = linkkat
document.mitBillede2.src = katg
}
else if (kat == 3) {
brw.mitLink3.href = linkkat
document.mitBillede3.src = katg
nr++
}

kat++

setTimeout(\"skiftBilleder()\", 3000)
}
//-->
</script>

Og så skal billederne med de tre links være sådan her:

<a href=\"link.html\" name=\"mitLink1\"><img src=\"fyld.gif\" name=\"mitBillede1\"></a>
<a href=\"link.html\" name=\"mitLink2\"><img src=\"fyld.gif\" name=\"mitBillede2\"></a>
<a href=\"link.html\" name=\"mitLink3\"><img src=\"fyld.gif\" name=\"mitBillede3\"></a>

Og så skal det her sættes i onLoad:
<body onLoad=\"setTimeout(\'skiftBilleder()\',3000)\">

Nu skulle alt være i skønneste orden!
(Det virker i hvert fald i IE5)
Avatar billede Slettet bruger
29. august 2001 - 16:41 #16
Ups, billed- og linkkoderne skal ændres til det her:
<a href=\"link.html\" id=\"mitLink1\"><img src=\"fyld.gif\" name=\"mitBillede1\"></a>
<a href=\"link.html\" id=\"mitLink2\"><img src=\"fyld.gif\" name=\"mitBillede2\"></a>
<a href=\"link.html\" id=\"mitLink3\"><img src=\"fyld.gif\" name=\"mitBillede3\"></a>
Avatar billede Slettet bruger
01. september 2001 - 12:18 #17
Mjallo???
Avatar billede vester Novice
01. september 2001 - 18:16 #18
>>>phoenixv !
Det virker fint, men det er som om den er langsom om at komme igang?
Avatar billede Slettet bruger
02. september 2001 - 10:10 #19
Det forstår jeg ikke. Men husk at billederne først starter med at skifter, når siden er loadet færdig, så det kan være det er dét, der er problemet. Det kan løses, men løsningen er ikke så ønskværdig, så jeg kan anbefale dig at holde dig til mit script!
Avatar billede jingle_jim Juniormester
09. oktober 2006 - 20:04 #20
Hey!

Hvis jeg skal have en billedskifter som bare skifter mellem x antal billeder, ikke har noget link, men som måske har en interval på 2-3 sek. hvilken kode-del skal jeg så vælge af ovenstående.. virker de øverste - kan se du har skrevet at at du havde lavet 5 brølerfejl..
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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