10. november 2005 - 17:10
Der er
17 kommentarer og 1 løsning
Få onmouseout og onmouseover til at gælde for 3 td'er
Hejsa Jeg har dette: onmouseout="style.backgroundColor='#B09166';" onmouseover="style.backgroundColor='#6599B1';" Hvordan kan jeg få den til at gælde på disse tre: <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="topmenu" width="88" bgcolor="#B09166" height="27" align="center" Spil</td> <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"> </td> Og nej... det kan ikke smides i tr'en, da der kommer mange td'er inden tr'en
Annonceindlæg fra SuperOffice
10. november 2005 - 17:14
#1
Er det kun de 3, der har class="topmenu" ?-)
10. november 2005 - 17:16
#2
Nej desværre, men det kunne jeg vel lave om, til topmenu1,2 osv..
10. november 2005 - 17:23
#3
Ideen skulle være, at du traverserede alle td'er, som ligger i den tr, og så identificerede de interessante på en eller anden måde !-)
10. november 2005 - 17:29
#4
Har jeg ikke lige fattet, men kunne man ikke gøre noget med: javascript, som modtaget et id der bliver klikket på også ændre den style på det id, fx 5 også ændre den også på 4 og 6
10. november 2005 - 17:31
#5
-- ved du, at det altid er de to td'er, der er foran og bagved, der skal skifte farve ?-)
10. november 2005 - 17:34
#6
Ja det ved jeg. Du kan lige se koden her: <table border="0" width="750" cellspacing="0" cellpadding="0"> <tr> <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="topmenu" width="88" bgcolor="#B09166" height="27" align="center">Forside</td> <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"> </td> <td width="5" bgcolor="#EEEEEE" height="27" align="center"> </td> <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="topmenu" width="88" bgcolor="#B09166" height="27" align="center">Spil</td> <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"> </td> <td width="5" bgcolor="#EEEEEE" height="27" align="center"> </td> <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="topmenu" width="88" bgcolor="#B09166" height="27" align="center">Film</td> <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"> </td> <td width="5" bgcolor="#EEEEEE" height="27" align="center"> </td> <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="topmenu" width="88" bgcolor="#B09166" height="27" align="center">Billeder</td> <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"> </td> <td width="5" bgcolor="#EEEEEE" height="27" align="center"> </td> <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="topmenu" width="88" bgcolor="#B09166" height="27" align="center">Jokes</td> <td class="topmenu" width="29" bgcolor="#B09166" height="27" align="center"> </td> </tr> </table>
10. november 2005 - 17:59
#7
Kan du lave noget?
10. november 2005 - 17:59
#8
Så kan du f.eks. <style type="text/css"> .topmenu{border:0;width:750;border-collapse:collapse;} .topmenu td{width:29px;background-color:#b09166;height:27px;text-align:center;margin:0;padding:0;} .topmenu .txt{width:88px;} .topmenu .space{width:5px;background-color:#eee;} </style> <table class="topmenu"> <tr> <td onmouseover="highLight(this,1,1)" onmouseout="highLight(this,1,0)"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="txt" onmouseover="highLight(this,2,1)" onmouseout="highLight(this,2,0)">Forside</td> <td onmouseover="highLight(this,3,1)" onmouseout="highLight(this,3,0)"> </td> <td class="space"> </td> <td onmouseover="highLight(this,1,1)" onmouseout="highLight(this,1,0)"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="txt" onmouseover="highLight(this,2,1)" onmouseout="highLight(this,2,0)">Spil</td> <td onmouseover="highLight(this,3,1)" onmouseout="highLight(this,3,0)"> </td> <td class="space"> </td> <td onmouseover="highLight(this,1,1)" onmouseout="highLight(this,1,0)"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="txt" onmouseover="highLight(this,2,1)" onmouseout="highLight(this,2,0)">Film</td> <td onmouseover="highLight(this,3,1)" onmouseout="highLight(this,3,0)"> </td> <td class="space"> </td> <td onmouseover="highLight(this,1,1)" onmouseout="highLight(this,1,0)"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="txt" onmouseover="highLight(this,2,1)" onmouseout="highLight(this,2,0)">Billeder</td> <td onmouseover="highLight(this,3,1)" onmouseout="highLight(this,3,0)"> </td> <td class="space"> </td> <td onmouseover="highLight(this,1,1)" onmouseout="highLight(this,1,0)"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="txt" onmouseover="highLight(this,2,1)" onmouseout="highLight(this,2,0)">Jokes</td> <td onmouseover="highLight(this,3,1)" onmouseout="highLight(this,3,0)"> </td> <td class="space"> </td> </tr> </table> <script type="text/javascript"> function highLight(elm,num,act){ var tds = new Array(); tds[num] = elm; for(i=num-1;i>0;i--){ tds[i] = getPreviousSibling(tds[i+1]); } for(i=num+1;3>=i;i++){ tds[i] = getNextSibling(tds[i-1]); } for(i=1;3>=i;i++){ tds[i].style.backgroundColor = act ? '#6599B1' : ''; } } function getPreviousSibling(elm){ pSib = elm.previousSibling; while(pSib.nodeType != 1 || pSib.tagName != elm.tagName) pSib = pSib.previousSibling; return pSib; } function getNextSibling(elm){ pSib = elm.nextSibling; while(pSib.nodeType != 1 || pSib.tagName != elm.tagName) pSib = pSib.nextSibling; return pSib; } </script>
10. november 2005 - 18:14
#9
jamen det er 5 forskellige farver der skal skifetes i mellem
10. november 2005 - 18:37
#10
Hvordan kunne det så laves?..
10. november 2005 - 20:03
#11
?
10. november 2005 - 21:12
#12
<ole> I stedet for at spilde folks tid, så begynd helt forfra og forklar, hvad det er, du skal bruge. Brug tid på din forklaring - og forklar det hele med det samme /mvh </bole>
10. november 2005 - 21:36
#13
Hmm okay olebole prøver. Jeg har en vandret menu, som er delt op i 5 felter, hvor hver felt er 3 <td> og til at adskille dem er der 1 <td>. Jeg søger så en måde hvorpå jeg kan få nedenstående, til at fungere på alle 3 <td>'er, på en gang. Hver menufelt skal have hver deres farve. onmouseout="style.backgroundColor='#B09166';" onmouseover="style.backgroundColor='#6599B1';" Tabel koden er: <table border="0" width="750" cellspacing="0" cellpadding="0"> <tr> <td width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.news.gif" width="23" height="25"></td> <td width="88" bgcolor="#B09166" height="27" align="center">Forside</td> <td width="29" bgcolor="#B09166" height="27" align="center"> </td> <td width="5" bgcolor="#EEEEEE" height="27" align="center"> </td> <td width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.pictures.gif" width="23" height="25"></td> <td width="88" bgcolor="#B09166" height="27" align="center">Billeder</td> <td width="29" bgcolor="#B09166" height="27" align="center"> </td> <td width="5" bgcolor="#EEEEEE" height="27" align="center"> </td> <td width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.games.gif" width="23" height="25"></td> <td width="88" bgcolor="#B09166" height="27" align="center">Spil/Film</td> <td width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td width="5" bgcolor="#EEEEEE" height="27" align="center"> </td> <td width="29" bgcolor="#B09166" height="27" align="center"> </td> <td width="88" bgcolor="#B09166" height="27" align="center">Jokes</td> <td width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.jokes.gif" width="26" height="27"></td> <td width="5" bgcolor="#EEEEEE" height="27" align="center"> </td> <td width="29" bgcolor="#B09166" height="27" align="center"> </td> <td width="88" bgcolor="#B09166" height="27" align="center">Andet</td> <td width="29" bgcolor="#B09166" height="27" align="center"><img border="0" src="images/icon.other.gif" width="27" height="27"></td> </tr> </table>
11. november 2005 - 07:27
#14
Så f.eks. <style type="text/css"> .topmenu{border:0;width:750;border-collapse:collapse;} .topmenu td{width:29px;background-color:#b09166;height:27px;text-align:center;margin:0;padding:0;} .topmenu .txt{width:88px;} .topmenu .space{width:5px;background-color:#eee;} </style> <table class="topmenu"> <tr> <td onmouseover="highLight(this,1,'#a23')" onmouseout="highLight(this,1,0)"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="txt" onmouseover="highLight(this,2,'#a23')" onmouseout="highLight(this,2,0)">Forside</td> <td onmouseover="highLight(this,3,'#a23')" onmouseout="highLight(this,3,0)"> </td> <td class="space"> </td> <td onmouseover="highLight(this,1,'#b34')" onmouseout="highLight(this,1,0)"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="txt" onmouseover="highLight(this,2,'#b34')" onmouseout="highLight(this,2,0)">Spil</td> <td onmouseover="highLight(this,3,'#b34')" onmouseout="highLight(this,3,0)"> </td> <td class="space"> </td> <td onmouseover="highLight(this,1,'#c45')" onmouseout="highLight(this,1,0)"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="txt" onmouseover="highLight(this,2,'#c45')" onmouseout="highLight(this,2,0)">Film</td> <td onmouseover="highLight(this,3,'#c45')" onmouseout="highLight(this,3,0)"> </td> <td class="space"> </td> <td onmouseover="highLight(this,1,'#d56')" onmouseout="highLight(this,1,0)"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="txt" onmouseover="highLight(this,2,'#d56')" onmouseout="highLight(this,2,0)">Billeder</td> <td onmouseover="highLight(this,3,'#d56')" onmouseout="highLight(this,3,0)"> </td> <td class="space"> </td> <td onmouseover="highLight(this,1,'#e67')" onmouseout="highLight(this,1,0)"><img border="0" src="images/icon.movie.gif" width="27" height="27" alt=""></td> <td class="txt" onmouseover="highLight(this,2,'#e67')" onmouseout="highLight(this,2,0)">Jokes</td> <td onmouseover="highLight(this,3,'#e67')" onmouseout="highLight(this,3,0)"> </td> <td class="space"> </td> </tr> </table> <script type="text/javascript"> function highLight(elm,num,act){ var tds = new Array(); tds[num] = elm; for(i=num-1;i>0;i--){ tds[i] = getPreviousSibling(tds[i+1]); } for(i=num+1;3>=i;i++){ tds[i] = getNextSibling(tds[i-1]); } for(i=1;3>=i;i++){ tds[i].style.backgroundColor = act ? act : ''; } } function getPreviousSibling(elm){ pSib = elm.previousSibling; while(pSib.nodeType != 1 || pSib.tagName != elm.tagName) pSib = pSib.previousSibling; return pSib; } function getNextSibling(elm){ pSib = elm.nextSibling; while(pSib.nodeType != 1 || pSib.tagName != elm.tagName) pSib = pSib.nextSibling; return pSib; } </script> -- og hvis du godt vil have forskellige farver på fra start, ville det vel være lidt smart at den kodestump, du viste også afspejlede det ?-)
11. november 2005 - 13:53
#15
Så virker det. Ja kan godt se hvad du mener, skal nok tænke over det. Men vidste ikke at man kunne lave flere forskellige under den der hedder .topmenu Kan man så godt lave en der hedder .maintext .txt { bla bal} også? også bare smide class="txt", hvis class="maintext" er i starten af den table? Til sidst, hvordan kan jeg styrer A:link,hover osv. i menu der, uden det påvirker resten af siden?
11. november 2005 - 14:44
#16
Ved at lave forskellige selektorer, som jo direkte er tilgængelige: a,a:link,a:visited{color:black;text-decoration:none;} a:hover,a:visited{color:red;text-decoration:underline;} .topmenu a,.topmenu a:link,.topmenu a:visited{color:white;text-decoration:none;} .topmenu a:hover,.topmenu a:visited{color:red;text-decoration:underline overline;} Velbekomme '-)
13. november 2005 - 13:08
#17
Så virker det, tusind tak.
13. november 2005 - 16:33
#18
Uff, en alvorlig fejl i selektorerne: a:hover,a:active{color:red;text-decoration:underline;} -- ellers kan der opstå mærkværdige situationer ved besøgte link !-) -- og det gælder selvfølgelig også det andet eksempel ... -- ellers tak for point ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling