Avatar billede flash-man Nybegynder
10. juni 2002 - 20:46 Der er 21 kommentarer og
1 løsning

Skifte baggrundsfarve i en anden tabel..?

Hej Eksperter!

Jeg undrer hvordan man gør så'n så når man går over et <td>-felt så bliver baggrundsfarven i et andet <td>-felt ved siden lavet om (til fx. #FF0000)

Eks.......................

<table>
<tr><td>
felt 1
</td><td>
felt 2
</td></tr>
</table>

....................../Eks

Tja håber I forstår, det skulle vist bare være noget onMouseOver="blablabla" men jeg ved ikke lige hvad.. =)

</FlashMan!>
Avatar billede rdc Nybegynder
10. juni 2002 - 21:03 #1
Du kan måske læse om det her:
www.html.dk
Avatar billede flash-man Nybegynder
10. juni 2002 - 21:05 #2
tja.. det er vel et forsøg værd =) tak!
Avatar billede pato Nybegynder
10. juni 2002 - 21:07 #3
Du skal give td'erne ider som nedenstående


<HTML>
<HEAD>

<style>
.clsover{
background: #FF0000
}
.clsout{
background: white
}
</style>

<TITLE></TITLE>
</HEAD>
<BODY>

<P>&nbsp;</P>
<table border=1>
<tr><td id=ftd1 onmouseover="java script:;document.all.item('ftd2').className='clsover';" onmouseout="java script:;document.all.item('ftd2').className='clsout';">
felt 1
</td><td class="clsout" id=ftd2>
felt 2
</td></tr>
</table>

</BODY>
</HTML>
Avatar billede medions Nybegynder
10. juni 2002 - 21:07 #4
Sæt dette mellem dine <head> og </head> tags:

<SCRIPT language=javascript>
       
function rowOver(){
    lmnt = window.event.srcElement;
    if (lmnt.tagName.toUpperCase() == 'TABLE')
        return;
    while (lmnt.tagName.toUpperCase() !='TR')
        lmnt = lmnt.parentElement;
    lmnt.style.background = "#D9D9C9";
}

function rowOut(){
    lmnt = window.event.srcElement;
    if (lmnt.tagName.toUpperCase() == 'TABLE')
        return;
    while (lmnt.tagName.toUpperCase() !='TR')
        lmnt = lmnt.parentElement;
    lmnt.style.background ="#E2E2D4";
}

function rowOverTD(){
    lmnt = window.event.srcElement;
    if (lmnt.tagName.toUpperCase() == 'TABLE')
        return;
    while (lmnt.tagName.toUpperCase() !='TD')
        lmnt = lmnt.parentElement;
    lmnt.style.background = "#D9D9C9";
}

function rowOutTD(){
    lmnt = window.event.srcElement;
    if (lmnt.tagName.toUpperCase() == 'TABLE')
        return;
    while (lmnt.tagName.toUpperCase() !='TD')
        lmnt = lmnt.parentElement;
    lmnt.style.background ="#E2E2D4";
}

</SCRIPT>

og så brug denne:
<table border="0" cellpadding="2" onMouseOut="rowOut();" onMouseOver="rowOver();" width="520">
        <tr>
          <th bgcolor="#E2E2D4"><font face="Verdana" size="2"><b>&nbsp;Produkt</b></font></th>
          <th bgcolor="#E2E2D4" align="middle"><font face="Verdana" size="2"><b>Pris</b></font></th>
          <th bgcolor="#E2E2D4" align="middle"><font face="Verdana" size="2"><b>Bestil</b></font></th>
        </tr>

        <tr bgcolor="#e2e2d4">
          <td>
          <font size="2" face="Verdana">
          <a href="adress.asp"><b>Compaq Harddisk 4000 Gbyte</b><br>Den nye harddisk fra Compaq er den største nogensinde. Den har en kapisitet på 8000 Gbyte</a>
          </font></td>
          <td align=middle>
          <font size="2" face="Verdana"><b>166.625</b><br>(1.333,00)</font>
          </td>
          <form action="shop.asp?add=newOrder&ProductID=2" method="post">
          <td align="middle"><font face="Verdana" size="2">
         
          <input maxLength="3" name="Antal" size="2" value="1" class="border">&nbsp;
          <input name="Send" type="submit" value="Køb" class="bottum">
         
          </font></td>
          </form>

          </tr>
        </table>

Det skulle vidst være det...

//>Rune
Avatar billede flash-man Nybegynder
10. juni 2002 - 21:08 #5
pato > skal lige teste det..!
Avatar billede flash-man Nybegynder
10. juni 2002 - 21:09 #6
medions > hvorfor skal der så meget kode til??
Avatar billede =maddog= Nybegynder
10. juni 2002 - 21:14 #7
<tr>
<td onmouseover="document.getElementById('nabocelle').style.backgroundColor = 'red';">Kør musen over makker</td><td id="nabocelle">Anden baggrund her makker</td></tr>
Avatar billede pato Nybegynder
10. juni 2002 - 21:15 #8
Flash-man >selvfølgelig
Avatar billede flash-man Nybegynder
10. juni 2002 - 21:17 #9
maddog > lidt sent ude.. =(

Pato > Kort og godt =) Tak for det!
Avatar billede pato Nybegynder
10. juni 2002 - 21:20 #10
anytime :-)
Avatar billede =maddog= Nybegynder
10. juni 2002 - 21:24 #11
flashman> jeg kan kun advare mod at anvende document.all da det er IE standard. mit virker også i NS5+.
Avatar billede flash-man Nybegynder
10. juni 2002 - 21:27 #12
maddog > Du siger noget der..!
Avatar billede =maddog= Nybegynder
10. juni 2002 - 21:30 #13
den eneste IE version der kun anvender all og ikke getElementById er version 4. Der er flere der bruger NS4 end IE4 så det ville være bedre at tage højde for den hvis man endelig vil lave det bagud-kompatibelt.
Avatar billede flash-man Nybegynder
10. juni 2002 - 21:36 #14
maddog > he he.. med nærmere eftertanke vælger jeg nok og bruge dit eksempel, man ved jo aldrig hvem der får lyst til at kigge på siden.. =)

Og så er det osse kortere =)
Avatar billede =maddog= Nybegynder
10. juni 2002 - 21:39 #15
bare husk at lave en onmouseout (jeg svarer kun på det der bliver spurgt om af princip).
gennemsigtig farve hedder  'transparent'
Avatar billede pato Nybegynder
10. juni 2002 - 21:42 #16
Kan god se det gode i maddog's løsning, ja jeg er mest til IE...
Dette kan jeg jo også lære af, men hvordan retter du lige koden, så det kun er td'erne ved siden af der skifter farve.
Avatar billede flash-man Nybegynder
10. juni 2002 - 21:45 #17
maddog > Det har jeg sørget for.. =) Jeg kender godt til en lille smule JavaScript, jeg skulle bare lige bruge formeln til at skifte farve i det andet felt..
Avatar billede flash-man Nybegynder
10. juni 2002 - 21:47 #18
Huh.. Det ser faktisk rigtig godt ud på min side, med denne effekt =) Jeg brugte det til menuen..
Avatar billede =maddog= Nybegynder
10. juni 2002 - 21:50 #19
pato> ved at angive et unikt id på nabocellen og indexere det med getElementById.
<td id="en_streng_der_er_unik_for_mig"></td>
style kan sættes med obj.style for alle objekter der understøtter dynamisk styling.
Avatar billede pato Nybegynder
10. juni 2002 - 22:08 #20
maddog > mangler lige lidt erfaring i brugen af getElementById....prøver at forstå hvorledes det kan flettes ind i dine funktioner, så det bliver generisk :-)
Avatar billede =maddog= Nybegynder
10. juni 2002 - 22:34 #21
getElementById er en del af DOM (document object model) strukturen, og det må du hellere stifte bekendtskab med, for det er fremtidens dynamiske javascript.
andre eksempler.
obj = document.createElement('div') , laver en ny div
document.body.appendChild(obj) , tilføjer obj til <body>
objarray = document.getElementsByTagName('span') , returnerer alle <span> objekter som array
head = document.getElementsByTagName('head').item(0) , index til <head>
og så videre og så videre
Avatar billede pato Nybegynder
10. juni 2002 - 23:08 #22
maddog >> Takker mange gange, jeg skal nok sætte min ind i det....arbejder faktisk kun med asp ...javascript bruger jeg kun til husbehov - som det nu er nødvendigt med det jeg laver.
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