Avatar billede cmau Nybegynder
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">&nbsp;</td>

Og nej... det kan ikke smides i tr'en, da der kommer mange td'er inden tr'en
Avatar billede roenving Novice
10. november 2005 - 17:14 #1
Er det kun de 3, der har class="topmenu" ?-)
Avatar billede cmau Nybegynder
10. november 2005 - 17:16 #2
Nej desværre, men det kunne jeg vel lave om, til topmenu1,2 osv..
Avatar billede roenving Novice
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 !-)
Avatar billede cmau Nybegynder
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
Avatar billede roenving Novice
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 ?-)
Avatar billede cmau Nybegynder
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">&nbsp;</td>
      <td width="5" bgcolor="#EEEEEE" height="27" align="center">&nbsp;</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">&nbsp;</td>
      <td width="5" bgcolor="#EEEEEE" height="27" align="center">&nbsp;</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">&nbsp;</td>
      <td width="5" bgcolor="#EEEEEE" height="27" align="center">&nbsp;</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">&nbsp;</td>
      <td width="5" bgcolor="#EEEEEE" height="27" align="center">&nbsp;</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">&nbsp;</td>
    </tr>
  </table>
Avatar billede cmau Nybegynder
10. november 2005 - 17:59 #7
Kan du lave noget?
Avatar billede roenving Novice
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)">&nbsp;</td>
      <td class="space">&nbsp;</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)">&nbsp;</td>
      <td class="space">&nbsp;</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)">&nbsp;</td>
      <td class="space">&nbsp;</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)">&nbsp;</td>
      <td class="space">&nbsp;</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)">&nbsp;</td>
      <td class="space">&nbsp;</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>
Avatar billede cmau Nybegynder
10. november 2005 - 18:14 #9
jamen det er 5 forskellige farver der skal skifetes i mellem
Avatar billede cmau Nybegynder
10. november 2005 - 18:37 #10
Hvordan kunne det så laves?..
Avatar billede cmau Nybegynder
10. november 2005 - 20:03 #11
?
Avatar billede olebole Juniormester
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>
Avatar billede cmau Nybegynder
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">&nbsp;</td>

                <td width="5" bgcolor="#EEEEEE" height="27" align="center">&nbsp;</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">&nbsp;</td>

                <td width="5" bgcolor="#EEEEEE" height="27" align="center">&nbsp;</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">&nbsp;</td>

                <td width="29" bgcolor="#B09166" height="27" align="center">&nbsp;</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">&nbsp;</td>

                <td width="29" bgcolor="#B09166" height="27" align="center">&nbsp;</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>
Avatar billede roenving Novice
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)">&nbsp;</td>
      <td class="space">&nbsp;</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)">&nbsp;</td>
      <td class="space">&nbsp;</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)">&nbsp;</td>
      <td class="space">&nbsp;</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)">&nbsp;</td>
      <td class="space">&nbsp;</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)">&nbsp;</td>
      <td class="space">&nbsp;</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 ?-)
Avatar billede cmau Nybegynder
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?
Avatar billede roenving Novice
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 '-)
Avatar billede cmau Nybegynder
13. november 2005 - 13:08 #17
Så virker det, tusind tak.
Avatar billede roenving Novice
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 ;~}
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