Avatar billede madjor5 Nybegynder
06. februar 2004 - 10:57 Der er 8 kommentarer og
1 løsning

ændre onmouseover via dom

Jeg bruger følgende i en menu:

menupunkt.onmouseover=null;
menupunkt.onmouseout=null;

Normalt skifter jeg className via onmouseover /out.

Hvordan giver jeg onmouseover en funktionalitet som f.eks.

menupunkt.className="classnavn";

Jeg har prøvet:
menupunkt.onmouseover="this.className='classnavn'";
Men det virker ikke...

Jeg har brug for et syntax hint!
Avatar billede mm12010 Nybegynder
06. februar 2004 - 11:06 #1
umiddelbart vil jeg mene det er sådan:

document.getElementById('menupunkt').onmouseover=new Function("this.className='classnavn';");

hvis ikke det virker, må du gerne lige smide lidt mere kode så man kan se sammenhængen...
Avatar billede Slettet bruger
06. februar 2004 - 13:41 #2
Prøv også:

document.getElementById("menupunkt").onmouseover = function () {
  document.getElementById("menupunkt").className = "classnavn";
}
Avatar billede Slettet bruger
06. februar 2004 - 13:44 #3
Lidt kortere:

document.getElementById("menupunkt").onmouseover = function() {
  this.className = "classnavn";
}
Avatar billede roenving Novice
06. februar 2004 - 13:49 #4
Men det er ikke så smart at ændre class on-the-fly, da browseren så skal genberegne hele sit ccs-DOM-træ, så en meget nemmere tilgang vil være, at du laver en funktion, som lige ændrer den (eller de to-tre !-) property(ies), så kan du sætte eventetn lig den ...

function changeStatus(){
  this.style.backgroundColor = "#333";
  this.style.color = "#fff";
}

document.getElementById('menupunkt').onmouseover = changeStatus;
Avatar billede madjor5 Nybegynder
10. februar 2004 - 09:23 #5
Vi takker... Kom igennem med det hele, phoenixv og roenving, jeres forslag virker begge ;) Skriv et svar, så giver jeg points
Avatar billede roenving Novice
10. februar 2004 - 14:27 #6
-- dvs. at du fandt den lille irriterende fejl:

document.getElementById('menupunkt').onmouseover = changeStatus();

-- og velbekomme '-)
Avatar billede roenving Novice
10. februar 2004 - 14:27 #7
;O)
Avatar billede roenving Novice
10. februar 2004 - 14:49 #8
Hov, ingen fejl der, jeg havde bare lige kigget på en anden, hvor jeg havde lavet den fejl ...
Avatar billede roenving Novice
11. februar 2004 - 16:20 #9
-- og tak for points ;~}
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