Avatar billede dk_bubbi Nybegynder
20. oktober 2003 - 10:01 Der er 7 kommentarer og
1 løsning

Billede uden src ?

Jeg har et lille problem med et javascript som skal opdatere et billede ved klik på et link. Billedet har følgende opsætning:

<IMG SRC="../../../res/midgrmap.gif" WIDTH="370" HEIGHT="288" ALIGN="BOTTOM" BORDER="0" USEMAP="#lastMap5" NATURALSIZEFLAG="3" HSPACE="0" VSPACE="0" ALT="Kameraplacering" NAME="n">

(Ja der er nogle unødvendige tags i, men lad dem nu være)

Her er javascript koden som kører i et eksternt script:

document.images.n.src ="../../../res/midgrmap.gif?dummy="+(new Date()).getTime();
upd();
function chg(n){
    var img=new Array("../../../res/seagullk.jpg","../../../res/twotursk.jpg","../../../res/midgrmap.gif");
    document.images.n.src=img[n];
}
function upd(){
    var loc=location.toString();
    if (loc.substring(0,25)=="file:///wind/Web%20Folder" || loc.substring(0,25)=="file:/Volumes/webteam/Win"){
        document.images.n.src="../../../res/seagullk.jpg?dummy="+(new Date()).getTime();
    }else{
        document.images.n.src="../../../res/seagullk.jpg?dummy="+(new Date()).getTime();
    }
}


Problemet kommer når jeg loader siden, og det er følgende fejl:

document.images has no properties

Javascriptet virker mærkeligt nok, men det ser ikke helt så fixt ud med den fejl! Så jeg ville lige høre om jeg kunne bede om noget hjælp til at få det lavet bedre
Avatar billede larsvn Nybegynder
20. oktober 2003 - 10:04 #1
er images ikke et array, dvs. document.images[123].... ?
Avatar billede dk_bubbi Nybegynder
20. oktober 2003 - 10:09 #2
jo.. det er det vel..
du hentyder til:
---
var img=new Array("../../../res/seagullk.jpg","../../../res/twotursk.jpg","../../../res/midgrmap.gif");
    document.images.n.src=img[n];
---
formoder jeg?

Jeg sidder med et javascript jeg ikke selv har lavet, og jeg er ikke synderligt god til JS, da det ikke er mit hovedområde indenfor webdevelopment.

Hvordan skal jeg løse problemet så?
Avatar billede erikjacobsen Ekspert
20. oktober 2003 - 10:21 #3
Du skal vel ikke
  document.images.n.src
men
  document.images['n'].src
Avatar billede olebole Juniormester
20. oktober 2003 - 10:29 #4
<ole>

I JS opfører associative arrays sig næsten ligesom objekter - og tillader derfor både tilgang ved array-notation og dot-notation.

Mon ikke funktionen kaldes, inden billedet er skrevet ud? Det kan man jo ikke  :)

/mvh
</bole>
Avatar billede dk_bubbi Nybegynder
20. oktober 2003 - 10:30 #5
Nej det er jo ikke selve navnet der bliver ændret nu hvor jeg kigger koden igennem igen igen.
billedet beholder sit navn "n", men indholdet i src skiftes.

Det mest mærkelige er at skidtet virker efter hensigten i alle gængse browsere til forskellige platforme (Mac osX og Windows (98/2000/xp), der er bare det lille problem at den faktisk udleverer en fejl. Men det er kun i linie 1, (glemte jeg forresten lige at skrive).
Hvis jeg fjerner linie 1, får jeg fejlen i linie 11, som er inde i ELSE.
Avatar billede olebole Juniormester
20. oktober 2003 - 10:33 #6
Prøv med en URL til siden ... så undgår vi en længere gætte-konkurrence
Avatar billede dk_bubbi Nybegynder
20. oktober 2003 - 10:36 #7
LoL.. olebole!.. du har ret!.. Det var derfor!
ja, jeg skulle måske have skrevet hele kildekoden, men pga. jeg bare tænkte at et javascript kørte når alt andet var downloaded, så var det det der fik mig til at overse fejlen!

Så nu klager Mozilla sku ikke mere

Lav lige et svar, så du kan få point for det.

sorry til jer andre at jeg ikke skrev hele koden, men der er åbenbart nogen her der tænker på den slags.. derfor skal de også belønnes for det
Avatar billede olebole Juniormester
20. oktober 2003 - 10:47 #8
Jamen, jeg takker  :)
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