mouseOver med setAttribute virker ikke i IE

Tags:    javascript

hello hello,

jeg prøver at kode en slags dynamisk mouseover, hvor scriptet finder en bestemt DIV med et ID. og derefter påfører mouseover og mouseout med JS.

men det virker ikke overhovedet i IE, nogen der har prøvet at lave det før??
Fold kodeboks ind/udKode 





10 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
du kan også bare bruge:
Fold kodeboks ind/udKode 






Indlæg senest redigeret d. 21.08.2009 14:44 af Bruger #5789
Det aktiverer kun den sidste gif i Array'et.


Det er sikkert fordi den kode er i et loop af en slags. Når de to indre funktioner udføres har variablerne "elm" og "imgSrc" de samme værdier, som de havde, da den ydre funktion afsluttede, hvilket så er værdierne for den sidste iteration af loopet.

fx:

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 21.08.2009 18:47 af Bruger #3143
hej Jokke,

hvad skriver du i den function() ? jeg skriver

this.src = "..." men det virker ikke rigtig..





hej Jokke,

hvad skriver du i den function() ? jeg skriver

this.src = "..." men det virker ikke rigtig..



Det er bare så du slipper for at bruge setAttribute..

Syntes oftes man tildeler events ved at binde en funktion til et object ved et given event.



du kan bare referere til

elm.src = 'http://..'



oki, jeg kan slet ikke få det til at virke, jeg må være spejlblank..

Det aktiverer kun den sidste gif i Array'et. resten står helt stille. Det er som om at den ikke er kopieret ud den function, jeg har prøvet med = new function(); men det virker slet ikke overhovedet.

Fold kodeboks ind/udKode 



ellers må jeg lige prøve med Jquery en dag. :-)



hej Jesper, 1000 tak for dit input.

Jeg var overhovedet ikke klar over at man kan bruge event.target i js. men jeg bliver nødt til at spørge dig hvad betyder denne sætning:

if (!e) e = event;


det har jeg ikke lige set før. I flash ville man gøre sådan her:

function mouseOverMe(event:MouseEvent) {
event.target.src = ...
}

er det noget lignende?





> if (!e) e = event;

Den er til IE kompatibilitet

I de fleste browsere (og IE8, tror jeg) gives event-objektet som parameter, altså:

function(e) { ...

I IE derimod tildeles objektet til en speciel variabel "event".




Jeg har studeret lidt på sagen, og det viser sig åbenbart at det hele grunder sig i at IE bruger noget der hedder Window object eller et eller andet, som jeg har fundet noget kode til at bruge. Jeg skal lige teste det, så poster jeg hvad jeg finder ud af.
Men tak for input, jeg kom på sporet den vej. :-)

/sovs



nu har jeg fundet ud af det. Jeg fandt ud af at IE og FF bruger forskellige metoder.
så den endelig kode ser sådan ud:

Fold kodeboks ind/udKode 




t