Avatar billede The Real Yoda Juniormester
22. august 2001 - 14:34 Der er 2 kommentarer og
2 løsninger

hvorfor undefined?

Jeg har noget asp kode som laver følgende javascript..

<script language=\"Javascript\">
var billeder = new Array(\"test1.jpg\",\"test2.jpg\",\"test3.jpg\");
var tid      = new Array(10,10,10);

var tael = 3;
function billedSkift () {
//alert( \"billedskift kaldt. tæl=\"+tael+\" nyt pic=\"+ billeder[tael] );
  document.images[\'tester\'].src=billeder[tael];
  denneTid = tid[tael];
  tael++;
  if (tael==tid.length) tael = 0;
  setTimeout(\"billedSkift()\", 1000*denneTid);
}

var preImgs = new Array();        // preload billederne
for (var i=0; tid.length>i; i++ ) {
    preImgs[i] = new Image()
    preImgs[i].src = billeder[i];
}

</script>

i body har jeg:
onload=\'billedSkift()\'

og på min side har jeg et billed sat ind således
<img src=\"test.gif\" name=\"tester\" width=45 height=45>

hvorfor er det så lige at når jeg ser siden , skifter den mit test.gif ud med \"undefined\" ... når der skulle stå \"test1.jpg\" ?????
Avatar billede roenving Novice
22. august 2001 - 14:55 #1
Fordi den prøver at finde billeder[3] - Arrayet går jo fra 0 til 2

var tael = 0;

den skal bare startes, den bestemmer ikke noget !~]

hth
jes
Avatar billede The Real Yoda Juniormester
22. august 2001 - 15:35 #2
Nåeh ja... selvfølgelig.... DOH!!!!

men forresten... kan du så ikke lige fortælle mig hvordan jeg stopper det der billedskifteri, når den viser det sidste billed!?
Avatar billede Slettet bruger
22. august 2001 - 17:02 #3
Hvis du mener, at slideshowet skal stoppe, når man kommer til billede nr. 3, så ser scriptet sådan her ud:
<script language=\"Javascript\">
var billeder = new Array(\"test1.jpg\",\"test2.jpg\",\"test3.jpg\");
var tid      = new Array(10,10,10);

var preImgs = new Array();        // preload billederne
for (var i=0; tid.length>i; i++ ) {
    preImgs[i] = new Image()
    preImgs[i].src = billeder[i];
}

var tael = 0;
function billedSkift () {
//alert( \"billedskift kaldt. tæl=\"+tael+\" nyt pic=\"+ billeder[tael] );
  document.images[\'tester\'].src=billeder[tael];
  denneTid = tid[tael];
  tael++;
  if (tael<tid.length) {
  setTimeout(\"billedSkift()\", 1000*denneTid);
  }
}

</script>

P.S. Jeg har puttet din preloader op foran din funktion!
Avatar billede roenving Novice
22. august 2001 - 17:48 #4
>>phoenixv - PS. Jaeh, det er jo okay, men er jo også uden betydning, preloaderen udføres jo, når siden loades, funktionen igangsættes efter siden er loadet.

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