Avatar billede pep_panic Nybegynder
11. september 2005 - 13:40 Der er 23 kommentarer og
1 løsning

How2: Hover effekt på <td>'erne?

Hey guys.
Hvordan får jeg en hover-effekt på mine <td>'ere i en table?
Altså forstået således, at en lille table (en lille fem punkts menu) med fem td'ere, har hver td en (menu)tekst. Når man holder musen hen over en td, skal hele td'en skifte farve.
Noget a la det BT har ude i venstre side af deres menu (http://www.bt.dk).

Sooo how2?

På forhånd tak til guruer for jeres input!
/Pep
Avatar billede roenving Novice
11. september 2005 - 13:45 #1
F.eks.

<td onmouseover="this.style.backgroundColor='#ddd'" onmouseover="this.style.backgroundColor=''">
Avatar billede pep_panic Nybegynder
11. september 2005 - 14:02 #2
Cool, du glemte måske liiige en onmouseout
<td onmouseover="this.style.backgroundColor='red'" onmouseout="this.style.backgroundColor='white'">

:)

Hvordan får jeg så hele td til at være et link? Altså ikke kun teksten skal være et link, men hele td'en som teksten står i.
/Pep
Avatar billede roenving Novice
11. september 2005 - 14:09 #3
-- nej, jeg glemte ikke en onmouseout, men jeg glemte at ændre 3 bogstaver til 2:

<td onmouseover="this.style.backgroundColor='#ddd'" onmouseout="this.style.backgroundColor=''">

-- det kan gøres på forskellige måder, simplest er at gøre et link i cellen til et block-level-element med:

<a href="..." style="display:block;">link</a>

-- men det kan give problemer, hvis der er forskel på link-højder (f.eks. nogle fler-linjede, andre kun een linje !-)

-- men man kan også bruge noget javascript på cellen:

<td ... onclick="location.href='nyheder.html'">
Avatar billede pep_panic Nybegynder
11. september 2005 - 14:55 #4
js virker, men kan ikke få style'en til at virke (IE6.0).
Tilgengæld skifter musen ikke til finger, så man ved umiddelbart ikke at det er et link.
Avatar billede roenving Novice
11. september 2005 - 14:56 #5
style="corsor:pointer;" skal så også ind i tagget !-)
Avatar billede roenving Novice
11. september 2005 - 14:57 #6
Uff ...

style="cursor:pointer;"
Avatar billede pep_panic Nybegynder
11. september 2005 - 15:59 #7
Forklar mig lige, hvorfor dette kun virker på den først td...

<table cellspacing="2" cellpadding="2" border="1">
<tr>
    <td style="width:200px" onmouseover="this.style.backgroundColor='red'" onmouseout="this.style.backgroundColor='white'" style="cursor:pointer;"><a href="her" style="display:block;">Virker</a></td>
</tr>
<tr>
    <td style="width:200px" onmouseover="this.style.backgroundColor='red'" onmouseout="this.style.backgroundColor='white'" style="cursor:pointer;"><a href="her" style="display:block;">Virker ikke</a></td>
</tr>
<tr>
    <td style="width:200px" onmouseover="this.style.backgroundColor='red'" onmouseout="this.style.backgroundColor='white'" style="cursor:pointer;"><a href="her" style="display:block;">Virker ikke</a></td>
</tr>
<tr>
    <td style="width:200px" onmouseover="this.style.backgroundColor='red'" onmouseout="this.style.backgroundColor='white'" style="cursor:pointer;"><a href="her" style="display:block;">Virker ikke</a></td>
</tr>
</table>
Avatar billede pep_panic Nybegynder
11. september 2005 - 16:00 #8
Bør måske lige tilføje, at det er block-linket som ikke virker på de sidste tre td'er.
Avatar billede roenving Novice
11. september 2005 - 16:12 #9
Det kan jeg ikke forklare !-)

-- og det virker forøvrigt uden problemer i andre browsere end IE !o]
Avatar billede pep_panic Nybegynder
11. september 2005 - 16:20 #10
Ja, det virker i de andre (for en gangs skyld) men ikke i IE... Måske hvis jeg stopper dem ind i css fil?

HVordan vil jeg tilføje det? Lige nu ser min css fil således ud:
<style type="text/css">    <!--
    BODY, P, TD, TH, DIV, BLOCKQUOTE, DL, UL, OL {
        font-family: Verdana, Arial, Sans-serif; font-size: xx-small; font-weight: 400; font-style: normal; text-decoration: none; text-transform: none; font-variant: normal;
    }
    A:link {text-decoration: none;}
    A:visited {text-decoration: none;}
    A:link {color: Navy;}
    A:visited {color: #800046;}
    A:hover {color: #FF4500;}
    A:active {color: #6495ED;}

    A.link1:link {text-decoration: none;}
    A.link1:visited {text-decoration: none;}
    A.link1:link {color: black;}
    A.link1:visited {color: black;}
    A.link1:hover {color: #FF4500;}
    A.link1:active {color: black;}
    -->
</style>
Avatar billede roenving Novice
11. september 2005 - 16:39 #11
Jeg har faktisk prøvet at stoppe det i et stylesheet, tvinge IE til at fortolke css korrekt m.m., men det hjalp ikke !-)

-- men så skal det se sådan ud:

    a{display:block;}
    a:link {text-decoration: none;color: Navy;}
    a:visited {text-decoration: none;color: #800046;}
    a:hover {color: #FF4500;}
    a:active {color: #6495ED;}

    a.link1:link,a.link1:visited {text-decoration: none;color: black;}
    a.link1:hover {color: #FF4500;}
    a.link1:active {color: black;}
Avatar billede pep_panic Nybegynder
11. september 2005 - 17:07 #12
Ok spanx.
Hvordan dælen får andre det så til at virke i IE (fx bt.dk)
Kast et svar, så får du point :)
Avatar billede roenving Novice
11. september 2005 - 17:16 #13
Hvis du sætter det på onclick på cellerne vil det jo virke !-)
Avatar billede pep_panic Nybegynder
11. september 2005 - 17:22 #14
Og hvordan ser det ud?
onclick="display='block'"?
Avatar billede roenving Novice
11. september 2005 - 17:23 #15
Se sidste linje i indlægget 14:09:52 !-)
Avatar billede pep_panic Nybegynder
11. september 2005 - 17:38 #16
roger, vil du ha' point, så gi' lige et svar.
Avatar billede roenving Novice
11. september 2005 - 17:43 #17
Oki '-)

-- men behold selv de fleste !-)
Avatar billede pep_panic Nybegynder
11. september 2005 - 17:45 #18
Lige en ting mere. Hvordan får jeg tekstens hover-farve frem, når man holder musen over td'en, men ikke lige rammer selve teksten?
Avatar billede roenving Novice
11. september 2005 - 17:56 #19
Så må du ændre den onmouseover !-)

<td style="width:200px" onmouseover="this.style.backgroundColor='red';this.firstChild.style.color='#FF4500';" onmouseout="this.style.backgroundColor='';this.firstChild.style.color='';" style="cursor:pointer;">
Avatar billede pep_panic Nybegynder
11. september 2005 - 18:16 #20
Det åbner så op for et nyt problem. Nemlig at man ikke længere kan se, om man har været på linket før.
Avatar billede pep_panic Nybegynder
11. september 2005 - 18:19 #21
<td style="height:19px" onclick="location.href='settings.asp'" style="cursor:pointer;" onmouseover="this.style.backgroundColor='#C7C6AF';this.firstChild.style.color='FF4500';" onmouseout="this.style.backgroundColor='#DFE6E3';this.firstChild.style.color='#800046';"> <a href="settings.asp">Indstillinger</a></td>
Avatar billede roenving Novice
11. september 2005 - 18:27 #22
Sæt onmouseout, som jeg viste !-)

-- det er bestemt ikke en fejl, at jeg brugte ='' ...
Avatar billede pep_panic Nybegynder
11. september 2005 - 18:38 #23
U soo rock man. Point er helt fortjent!!!
Tak for hjælpen.
/Pep
Avatar billede roenving Novice
11. september 2005 - 18:44 #24
-- og jeg takker for point ;~}
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