Avatar billede cmau Nybegynder
28. august 2006 - 17:14 Der er 36 kommentarer og
2 løsninger

onmouse på <tr>-element

Hejsa

Jeg har på en tidligere side haft held med at lave en js fil med dette indhold:

function mOut(elm){
    if(!elm.clicked)
    elm.style.backgroundColor='';
}
function mOver(elm){
    elm.style.backgroundColor='#846331';
}


Jeg har så sat onmouseout="mOut(this);" onmouseover="mOver(this);" på mine <tr>-elementer. Det har virket så den skiftede farve.

Men nu har jeg prøvet på min kommende side og det vil ikke virke, kan det være pga min doctype?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Avatar billede miqe Nybegynder
28. august 2006 - 18:00 #1
Har dine td'er allerede en farve vil de override farven der sættes i tr.
Hvilken Doctype brugte du før? Dit problem kan sagtens være opstået hvis du er gået fra at køre uden Doctype til at køre med. Dette skyldes at du fortæller browseren hvordan den skal fortolke dokumentet.
Uden Doctype vil forskellige browsere f.eks. fortolke din html forskelligt.
Avatar billede mclemens Nybegynder
28. august 2006 - 18:07 #2
function mOut(elm){
    if(!elm.clicked)
    elm.style.backgroundColor='';
}

skal der måske slette if(!elm.clicked) i ...
Avatar billede mclemens Nybegynder
28. august 2006 - 18:12 #3
Hmmm, den del er ikke nødvendigt - men delen var bare overflødig ...


Virker denne ikke hos dig?



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">

function mOut(elm){
    elm.style.backgroundColor='';
}
function mOver(elm){
    elm.style.backgroundColor='#846331';
}

</script></head><body>

<table><tr onmouseout="mOut(this);" onmouseover="mOver(this);">
<td> test 2 </td>
</tr></table>

</body></html>
Avatar billede cmau Nybegynder
28. august 2006 - 18:14 #4
miqe > På den forrige var det vist nok <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

mclemens > Okay :) Vist rigtig nok, men det hjælper jo ikke på at farven slet ikke kommer i første omgang.
Avatar billede mclemens Nybegynder
28. august 2006 - 18:25 #5
Den jeg kastede har jeg testet i IE 6.0 og Firefox 1.5.0.4
... hvilken browser og version tester du med ? Farven kommer
første gang, hvor jeg kører henover test 2, når jeg tester filen :/
Avatar billede cmau Nybegynder
28. august 2006 - 18:40 #6
Jamen den fil der du skrev virker også ved mig, men se her http://www.woox.dk/xParty.htm
Avatar billede mclemens Nybegynder
28. august 2006 - 18:54 #7
Kommentar: miqe
28/08-2006 18:00:38
[ Har dine td'er allerede en farve vil de override farven der sættes i tr. ]

... Mige, kast et svar ...

cmau > skift f.eks.:

<tr style="" onmouseout="mOut(this);" onmouseover="mOver(this);"><td bgcolor="#5f4013" width="50%">kategori13</td><td bgcolor="#5f4013" width="15%">&nbsp;</td><td bgcolor="#5f4013" width="15%">33</td><td bgcolor="#5f4013" width="20%">WoX</td></tr>

til:

<tr style="background-color:#5f4013;" onmouseout="mOut(this);" onmouseover="mOver(this);"><td width="50%">kategori13</td><td width="15%">&nbsp;</td><td width="15%">33</td><td width="20%">WoX</td></tr>
Avatar billede cmau Nybegynder
28. august 2006 - 18:58 #8
Avatar billede mclemens Nybegynder
28. august 2006 - 19:02 #9
Prøv at lægge mærke til at mige skriver at du _ikke_ skal definere baggrunden på en td hvis baggrunden på en tr skal køre igennem på din td ... og læg mærke til at jeg fjernede baggrundene fra din td og istedet satte den på din tr ...
Avatar billede mclemens Nybegynder
28. august 2006 - 19:03 #10
Altså:

  <TR onmouseover=mOver(this); onmouseout=mOut(this);>
    <TD style="BACKGROUND-COLOR: #5f4013" width="50%">kategori13</TD>
    <TD style="BACKGROUND-COLOR: #5f4013" width="15%">&nbsp;</TD>
    <TD style="BACKGROUND-COLOR: #5f4013" width="15%">33</TD>
    <TD style="BACKGROUND-COLOR: #5f4013" width="20%">WoX</TD></TR>

->

  <TR onmouseover=mOver(this); onmouseout=mOut(this); style="BACKGROUND-COLOR: #5f4013">
    <TD  width="50%">kategori13</TD>
    <TD width="15%">&nbsp;</TD>
    <TD width="15%">33</TD>
    <TD width="20%">WoX</TD></TR>
Avatar billede cmau Nybegynder
28. august 2006 - 19:11 #11
Argh.. ja havde glem at den bare satte farven. Hvordan får jeg den til at gå tilbage til normal farven? ALså 5f4013
Avatar billede cmau Nybegynder
28. august 2006 - 19:12 #12
5f4013 kan variere mellem 2 forskellige.
Avatar billede cmau Nybegynder
28. august 2006 - 19:13 #13
583604 og 5F4013 den skifter med hver anden.
Avatar billede mclemens Nybegynder
28. august 2006 - 19:15 #14
eksempel (ikke testet):

function mOut(elm,t){
    elm.style.backgroundColor=(t)?'#583604','#5f4013';
}


<TR onmouseover=mOver(this); onmouseout=mOut(this,0); style="BACKGROUND-COLOR: #583604">

<TR onmouseover=mOver(this); onmouseout=mOut(this,1); style="BACKGROUND-COLOR: #5f4013">
Avatar billede cyberjelle Nybegynder
28. august 2006 - 19:18 #15
Da TD elementerne (i princippet) ligger oven på TR, skal du i hvert fald ikke definere farven i dine TD-tags.
Gør i stedet dette i dine TR-tags. Ud over dette skal dine to funktioner i stedet være:
function mOut(elm){
    if(!elm.clicked)
    elm.style.backgroundColor='583604';
}
function mOver(elm){
    elm.style.backgroundColor='5F4013';
}
Eller omvendt...
Avatar billede mclemens Nybegynder
28. august 2006 - 19:19 #16
ups..

function mOut(elm,t){
    elm.style.backgroundColor=(t)?'#583604':'#5f4013';
}
Avatar billede mclemens Nybegynder
28. august 2006 - 19:20 #17
cyberjelle > Tror han fangede den i 28/08-2006 19:02:18 ...
Læg mærke til at der er to farver ligesom han skriver ...
Avatar billede cyberjelle Nybegynder
28. august 2006 - 19:22 #18
sorry.... Var lidt for hurtig.
Avatar billede cmau Nybegynder
28. august 2006 - 19:26 #19
mclemens kunne man istedet ikke gøres såpdan her:
<TR onmouseover=mOver(this); onmouseout=mOut(this,"583604"); style="BACKGROUND-COLOR: #583604">
<TR onmouseover=mOver(this); onmouseout=mOut(this,"5f4013"); style="BACKGROUND-COLOR: #5f4013">

Men ved ikke hvordan js'en skulle være så-
Avatar billede mclemens Nybegynder
28. august 2006 - 19:28 #20
Joh...

function mOut(elm,t){
    elm.style.backgroundColor='#'+t;
}
Avatar billede cyberjelle Nybegynder
28. august 2006 - 19:29 #21
Hvorfor så ikke bare ?
<TR onmouseover=mOver(this); onmouseout="mOut(this,'583604');" style="BACKGROUND-COLOR: #583604">
<TR onmouseover=mOver(this); onmouseout="mOut(this,'5f4013')"; style="BACKGROUND-COLOR: #5f4013">

og

function mOut(elm,t){
    elm.style.backgroundColor=t;
}
Avatar billede cyberjelle Nybegynder
28. august 2006 - 19:30 #22
ups

<TR onmouseover=mOver(this); onmouseout="mOut(this,'583604');" style="BACKGROUND-COLOR: #583604">
<TR onmouseover=mOver(this); onmouseout="mOut(this,'5f4013');" style="BACKGROUND-COLOR: #5f4013">

og

function mOut(elm,t){
    elm.style.backgroundColor=t;
}
Avatar billede mclemens Nybegynder
28. august 2006 - 19:31 #23
function mOut(elm,t){
    elm.style.backgroundColor=t;
}

<TR onmouseover=mOver(this); onmouseout="mOut(this,'#583604');" style="BACKGROUND-COLOR: #583604">
<TR onmouseover=mOver(this); onmouseout="mOut(this,'#5f4013');" style="BACKGROUND-COLOR: #5f4013">
Avatar billede mclemens Nybegynder
28. august 2006 - 19:32 #24
husk # ... en forklaring på hvorfor ikke ... tjah det
andet fylder et tegn mindre gange x antal tr's ...
Avatar billede cyberjelle Nybegynder
28. august 2006 - 19:33 #25
Og jeg mente faktisk # før farverne i javascriptet... GRRR.... :)

<TR onmouseover="changeColor(this,'#5f4013');" onmouseout="changeColor(this,'#5f4013');" style="BACKGROUND-COLOR: #5f4013">

og

function changgColor(elm,t){
    elm.style.backgroundColor=t;
}
Avatar billede mclemens Nybegynder
28. august 2006 - 19:35 #26
^ - Den der giver ikke rigtig helt mening ...

onmouseover="changeColor(this,'#5f4013');"

vs.

style="BACKGROUND-COLOR: #5f4013"

vs.

function mOver(elm){
    elm.style.backgroundColor='5F4013';
}

... men har fanget hvad du mente ...
Avatar billede mclemens Nybegynder
28. august 2006 - 19:36 #27
hov ... der havde jeg da en fejl selv :D

function mOver(elm){
    elm.style.backgroundColor='#5F4013';
}
Avatar billede cyberjelle Nybegynder
28. august 2006 - 19:36 #28
Hehe... godt!
Jeg er vidst nok nærmere en forstyrrende faktor i øjeblikket :)
Avatar billede mclemens Nybegynder
28. august 2006 - 19:37 #29
Arg, nej denne er rigtig:
function mOver(elm){
    elm.style.backgroundColor='#846331';
}

(kom til at kopiere fra 28/08-2006 19:18:57)
Avatar billede mclemens Nybegynder
28. august 2006 - 19:38 #30
[ Jeg er vidst nok nærmere en forstyrrende faktor i øjeblikket :) ]
Ikke spor, jeg snøvler bare lidt for meget med copy'n'paste ;)
Avatar billede cmau Nybegynder
28. august 2006 - 19:43 #31
Med denne js kode:
function mOut(elm,t){
    elm.style.backgroundColor='#'+t;
}
function mOver(elm){
    elm.style.backgroundColor='#846331';
}

og denne html kode:
<tr onclick="GoTo(\'?page=games.php&amp;id='.$row['id'].'&amp;category='.$category.'\');" onmouseout="mOut(this,\''.$bgcolor.'\');" onmouseover="mOver(this);" style="cursor:pointer;background-color:#'.$bgcolor.';">


Funker det :D.. Smider du svar?
Avatar billede mclemens Nybegynder
28. august 2006 - 19:46 #32
Mige, smider svaret :o)

... Koden var uden point ;)

(mige ramte først plet med den om problemet med farven
på td'en ... hvilket så kunne ses da du kastede linket :o))

Mvh, Clemme :)
Avatar billede miqe Nybegynder
28. august 2006 - 20:54 #33
Hold da op! Man lægger en hurtig kommentar inden man smutter fra jobbet og straks man kommer hjem ligger der en større dialog :o)

Jeg var heldig og ramte rigtigt.
På trods af at i kom vidt omkring var det jer der trak det store læs og pointerede at jeg ramte rigtigt.
Synes også i skal smide et svar så vi kan dele!
Avatar billede mclemens Nybegynder
28. august 2006 - 20:59 #34
Tjah, kaster lige et på opfordring så :o)
Avatar billede cmau Nybegynder
28. august 2006 - 21:41 #35
Tusind tak :)
Avatar billede mclemens Nybegynder
28. august 2006 - 21:43 #36
Tak for point :)
Og tak for deleren :o)
Avatar billede miqe Nybegynder
29. august 2006 - 09:37 #37
No problem! Det var kun fair!
Avatar billede cmau Nybegynder
29. august 2006 - 15:42 #38
Endnu engang tak for hjælpen :)
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