28. august 2006 - 17:14Der 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">
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.
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 :/
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 ...
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...
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; }
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&id='.$row['id'].'&category='.$category.'\');" onmouseout="mOut(this,\''.$bgcolor.'\');" onmouseover="mOver(this);" style="cursor:pointer;background-color:#'.$bgcolor.';">
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!
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.