Avatar billede morteeart Nybegynder
08. januar 2005 - 20:46 Der er 4 kommentarer og
1 løsning

Ændre værdier i CSS klasse med javascript

Hej

hvis jeg f.eks. har en klasse som hedder .tab
og ser sådan her ud

.tab
{
  background: white;
  color: black;
}

nu vil jeg gerne lave en mouseover effekt som ændre dette til det modsatte (invetering af farverne)

Det kunne nemt laves med CSS , men så understøtter stakkels Internet Explorer det ikke :(

Så jeg er nødsaget til at løse det med javascript, men ved ikke helt hvordan.

nogle forslag ?
Avatar billede softspot Forsker
08. januar 2005 - 20:56 #1
Jeg kan lige flikke denne sammen og køre den i IE 6.0 for PC (og det fungerer), så enten forstår jeg ikke dit spørgsmål (sandsynligt), eller du kører en anden version af IE end jeg gør...


<html>
    <head>
        <style rel="stylesheet">
            .tab
            {
                background: white;
                color: black;
            }
            .tab:hover
            {
                background: black;
                color: white;
            }
        </style>
    </head>
    <body>
        <a href="#" class="tab">tester</a>
    </body>
</html>
Avatar billede morteeart Nybegynder
08. januar 2005 - 20:58 #2
Det var fordi jeg tænke på en <div class="tab"> som ændrede sig ved mouseover, men fik dette fine eksempel af en ven:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
  <head>
  </head>
  <body style="background:red;">
      <div id="test" style="width:100px;height:100px;background:white;color:black;"
          onmouseover="document.getElementById('test').style.background = 'black';
          document.getElementById('test').style.color = 'white';"
          onmouseout="document.getElementById('test').style.background = 'white';
          document.getElementById('test').style.color = 'black';">Hep hey</div>
  </body>
</html>
Avatar billede olebole Juniormester
09. januar 2005 - 12:32 #3
<ole>

Du kan også referere med 'this' ... det er måske lidt mere elegant  :)

<div onmouseover="this.style.backgroundColor='red'" ...>TEST</div>

/mvh
</bole>
Avatar billede roenving Novice
09. januar 2005 - 14:47 #4
-- og det skal da tilføjes, at det er 'a pain in the ass' at ændre properties på styles med javascript (og Opera understøtter det slet ikke !-)
Avatar billede morteeart Nybegynder
09. januar 2005 - 16:42 #5
Folk som bruger Opera forventer også at tingne ikke virker, da det er en browser som understøtter intet css, og hvis heller ikke javascript, så er den til at dø endnu mere af grin af.

Anyway så benytter jeg også this, i final eksempel :) (lavede en funktion til det)
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