JavaScript probleem met slideshow

Pagina: 1
Acties:

  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
Hallo :)

Ik ben voor een klant een dingetje aan het maken dat door middel van javascript meerdere plaatjes laat zien. Die plaatjes laadt php in een array die ik vervolgens in de javascript array plaats.

een linkje : klik (het kan even een paar seconden duren, voordat je het voorbij ziet komen hoor)

Nu werkt het opzich redelijk prima, alleen af en toe laat hij een kruisje zien. Ik zie maar niet waar het probleem licht.

Ik heb uiteraard mijn array bekeken, en telkens laadt hij gewoon de goede afbeeldingen in. Dus ik heb het vermoeden dat het in JavaScript zit.

mijn code:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<script language="Javascript">
var images1 = new Array(<?=$images1 ?>); //hierin alle plaatjes
var images2 = new Array(<?=$images2 ?>); //hierin alle plaatjes
var images3 = new Array(<?=$images3 ?>); //hierin alle plaatjes
var i=0;
var j=0;
var k=0;

function slide1() {
 document.theImage1.src = images1[i];
 if(i<images1.length)i++;
 else i=0;
 setTimeout("slide1()",5000);  
}

function slide2() {
 document.theImage2.src = images2[j];
 if(j<images2.length)j++;
 else j=0;
 setTimeout("slide2()",5000);  
}

function slide3() {
 document.theImage3.src = images3[k];
 if(k<images3.length)k++;
 else k=0;
 setTimeout("slide3()",5000);  
}
</script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<link href="stylesheet/stylesheet.css" rel="stylesheet" type="text/css">
</head>
<body onLoad="slide1(); slide3(); slide2();">
<?php
echo '[img]"'.$PHOTO->ShowRandomPicture($map1,[/img]';echo '[img]"'.$PHOTO->ShowRandomPicture($map2,[/img]';echo '[img]"'.$PHOTO->ShowRandomPicture($map3,[/img]'; 
?>


de functie die hij aanroepts is een random 1e plaatje. Dit heb ik ook al weg gehaalt, maar had geen effect op de werking van dat ding.

ohja, de laatste waarde van de originele array was 'image', (note the comma). Deze heb ik weggehaald dus door middel van substr/strlength.

Wat zie ik over het hoofd? :?

[ Voor 61% gewijzigd door gitaarwerk op 07-03-2006 14:44 ]

Ontwikkelaar van NPM library Gleamy


  • Sjoerd
  • Registratie: December 2003
  • Niet online
bij moet doet hij het mooi hoor? :? snap het probleem niet precies (firefox btw)

Modelbouw - Alles over modelbouw, van RC tot diorama


  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Ik heb een tijdje zitten F5en, maar de enige kruisjes die ik kan ontdekken zijn degene die er staan tijdens het laden? Overigens zou ik je timeout wat hoger zetten, want ik kan de reeks amper zien totdat we aan het eind zijn beland, of ligt dat aan mij :) ?

edit:
FF overigens :) .

[ Voor 6% gewijzigd door JHS op 07-03-2006 14:47 ]

DM!


  • André
  • Registratie: Maart 2002
  • Laatst online: 08-04 16:23

André

Analytics dude


Het adres van een kapot plaatje is "http://www.jordyhoutman.com/client/undefined", dat betekend dat hij een index van de array aanspreekt die niet bestaat.

Wat als je van (i<images1.length) dit maakt: (i<=images1.length)

[ Voor 5% gewijzigd door André op 07-03-2006 14:48 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:23

crisp

Devver

Pixelated

JavaScript:
1
if(i<images1.length)i++;

Uiteindelijk is i dus gelijk aan images.length, en images1[i] bestaat dan niet ;)

Intentionally left blank


  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
gedaan, maar zelfde effect.. in de source kan je goed zien dat de arrays wel kloppen
code:
1
var images2 = new Array('bottom_images/flex_snij/b/DSCN5635.JPG','bottom_images/flex_snij/b/DSCN5938.JPG','bottom_images/flex_snij/b/DSCN5940.JPG','bottom_images/flex_snij/b/DSCN5941.JPG','bottom_images/flex_snij/b/DSCN5943.JPG','bottom_images/flex_snij/b/DSCN5944.JPG','bottom_images/flex_snij/b/DSCN5946.JPG'); //hierin alle plaatjes


@crisp

ah :)

good point.. ff denken dan of dat wat uit gaat maken

[ Voor 17% gewijzigd door gitaarwerk op 07-03-2006 14:53 ]

Ontwikkelaar van NPM library Gleamy


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:23

crisp

Devver

Pixelated

André schreef op dinsdag 07 maart 2006 @ 14:48:

Het adres van een kapot plaatje is "http://www.jordyhoutman.com/client/undefined", dat betekend dat hij een index van de array aanspreekt die niet bestaat.

Wat als je van (i<images1.length) dit maakt: (i<=images1.length)
Zo maak je het probleem toch juist erger? Lijkt me eerder dat het dit moet zijn:
JavaScript:
1
if(i<images1.length-1)i++;

;)

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 08-04 16:23

André

Analytics dude

crisp schreef op dinsdag 07 maart 2006 @ 14:53:
[...]

Zo maak je het probleem toch juist erger? Lijkt me eerder dat het dit moet zijn:
JavaScript:
1
if(i<images1.length-1)i++;

;)
Dat wilde ik juist posten, ik had het lokaal even getest en zag mijn denkfout ;)

  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
jep:) dat was het..

dankjewel mensen!

ik had er nu zelf een if statement voor gezet :S.. maar dit is dan nog wat makkelijker :Y)

(achteraf gezien best sullige fout :z )

[ Voor 15% gewijzigd door gitaarwerk op 07-03-2006 15:01 ]

Ontwikkelaar van NPM library Gleamy

Pagina: 1