Avatar billede helsekost Nybegynder
02. august 2008 - 22:55 Der er 12 kommentarer og
1 løsning

Mit JavaScript virker ikke. Angående: getElementById

Jeg har længe brugt et slideshow, der benytter sig af "filter" til at fade billederne ind over hinanden. Men da det kun er IE der kan læse dette, har jeg nu prøvet at lave et nyt. Problemet er bare, at det virker ikke. Og da jeg ikke er så erfaren, kan jeg ikke forstå hvad der er galt.

Både html og javascriptet kan ses på gammelbrydegaard.dk/test.htm

Mit web-developer-program i firefox fortæller:
"slideshowdiv is not defined" i line 174
Avatar billede erikjacobsen Ekspert
02. august 2008 - 23:00 #1
Du skal nok bare ændre

  document.getElementById(slideshowdiv).style.backgroundImage = "url(" + Billeder[j] + ")";

til

  document.getElementById('slideshowdiv').style.backgroundImage = "url(" + Billeder[j] + ")";
Avatar billede helsekost Nybegynder
02. august 2008 - 23:06 #2
Hehe. Det var en del enklere end jeg troede ;o)

Det køre nu, og der er ingen fejlmeddelelser. Desværre er fade'er billederne ikke. Men det var jo heller ikke en del af spørgsmålet, så jeg må jo af med mine point.
Avatar billede erikjacobsen Ekspert
02. august 2008 - 23:12 #3
Nej, tak. Jeg samler slet ikke på point. Hmm, lad os se hvad vi kan gøre ved den fading...
Avatar billede erikjacobsen Ekspert
02. august 2008 - 23:14 #4
Tag og find objektet med document.getElementById i linien

    var object = document.images.slideshowimg.style;

(men det er nok ikke det, siden der ikke er fejl)
Avatar billede erikjacobsen Ekspert
02. august 2008 - 23:20 #5
Når du ikke ændrer gennemsigtigheds-værdien, og den derfor altid er 0, så vil

      setTimeout("skiftGennemsigtighed(i)",(gennemsigtighed * skifteHastighed));

ikke give meget mening. Måske mener du

      setTimeout("skiftGennemsigtighed(i)",(i * skifteHastighed));

men så skal skiftehastighed nok ikke være 1000.
Avatar billede helsekost Nybegynder
02. august 2008 - 23:26 #6
Hvilken forskel gør det? Har selv prøvet at finde noget om det.
Avatar billede helsekost Nybegynder
02. august 2008 - 23:28 #7
Den ovenstående kommentar var til dit forslag om at finde objektet med getElementById
Avatar billede helsekost Nybegynder
02. august 2008 - 23:43 #8
Hvordan giver jeg dig de point?
Avatar billede erikjacobsen Ekspert
03. august 2008 - 00:02 #9
Jeg samler slet ikke på point, tak. Svar selv, accepter dit eget svar.
Avatar billede helsekost Nybegynder
03. august 2008 - 00:38 #10
Mange tak for hjælpen!

Som erikjacobsen skrev i den første kommentar, manglede apostrof-tegnene.

Problemet med fade-effekten ligger rigtig nok i linien:
      setTimeout("skiftGennemsigtighed(i)",(gennemsigtighed * skifteHastighed));
Men er ikke kommet frem til en løsning endnu. Tror setTimeout skal bruges til at forsinke det loop som det indgår i, i stedet for at forsinke "skiftGennemsigtighed(i)".
Det endelige resultat vil kunne findes på gammelbrydegaard.dk
Avatar billede erikjacobsen Ekspert
03. august 2008 - 08:43 #11
Husk at acceptere dit eget svar.
Avatar billede helsekost Nybegynder
03. august 2008 - 19:02 #12
Det virker ikke i Firefox tror jeg
Avatar billede helsekost Nybegynder
03. august 2008 - 19:04 #13
Næh. Det virker heller ikke med ie
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