Avatar billede rexdegn Nybegynder
18. juni 2003 - 17:10 Der er 12 kommentarer

Skift baggrunds billede på alle TD'er i en TR med onMouseOver

Hej jeg har et problem - kan du hjælpe?

Jeg har et table med flere felter og det skulle gerne virke sådan at alle min TD'er i et TR skifter baggrundsbillede når man ruller musen ned over - også selvom at det er på TD'en ved siden af. Desuden skal hele TR virke som link.
Tabel struktur er i retningen af dette:

<TABLE>
<TR>
<TD>Oprettet</TD><TD>navn</TD><TD><email></td>
</TR>
</TABLE>

Hvad gør jeg? - hjælp!!!! (så får du point ;-))
Avatar billede gumphfy Nybegynder
18. juni 2003 - 17:17 #1
lad mig lige forstå det rigtigt:
du vil have et billed, og når man flytter musen hen over det billede skal det skifte til et andet billede, og samtidig vare et link.

hvis jeg har forstået det rigtigt så lyder det som et image roll over.

det ser sådan her ud:

<!-- Rollover Image Script - Place within <head> tag -->
<script language="JavaScript" type="text/javascript">
<!-- Hide from older browsers
function SwitchImg()
{ //start
  var rem, keep=0, store, obj, switcher=new Array, history=document.Data;
    for (rem=0; rem < (SwitchImg.arguments.length-2); rem+=3) {
        store = SwitchImg.arguments[(navigator.appName == 'Netscape')?rem:rem+1];
    if ((store.indexOf('document.layers[')==0 && document.layers==null) ||
        (store.indexOf('document.all[')==0 && document.all==null))
        store = 'document'+store.substring(store.lastIndexOf('.'),store.length);
        obj = eval(store);
    if (obj != null) {
        switcher[keep++] = obj;
      switcher[keep++] = (history==null || history[keep-1]!=obj)?obj.src:history[keep];
      obj.src = SwitchImg.arguments[rem+2];
  } }
  document.Data = switcher;
} //end

function RestoreImg()
{ //start
  if (document.Data != null)
    for (var rem=0; rem<(document.Data.length-1); rem+=2)
      document.Data[rem].src=document.Data[rem+1];
} //end

// end hiding contents -->
</script>

<a href="hjemmeside.html" onMouseOut="RestoreImg()" onMouseOver="SwitchImg('document.roll over','document.roll over','image2')"><img src="billede" name="roll over" width="0" height="0" alt="link" border="0"></a>


hvis der var det du er ude efter, så tag og studer de her coder...
Avatar billede roenving Novice
18. juni 2003 - 17:20 #2
<HTML>
<SCRIPT language="javascript" type="text/javascript">
function changeRed(r){
for (i=0;i<r.children.length;i++){//>
r.children[i].style.backgroundColor="red"
}
}
function changeWhite(r){
for (i=0;i<r.children.length;i++){//>
r.children[i].style.backgroundColor="white"
}
}

</SCRIPT>
</HEAD>
<BODY>
<TABLE>
<TR onmouseover="changeRed(this);" onmouseout="changeWhite(this);">
<TD>Oprettet</TD><TD>navn</TD><TD><email></td>
</TR>
</TABLE>

</BODY>
</HTML>
Avatar billede roenving Novice
18. juni 2003 - 17:21 #3
Så må du lige specificere hvordan man holder styr på hvilke billeder, der skal være hvor
-- ovenstående eksempel viser bare hvad man kan ...
Avatar billede rexdegn Nybegynder
18. juni 2003 - 17:22 #4
Du skal vide at det er et baggrundbillede i en <TD> og når man føre musen over linket i <TD>Link</TD> skal den skifte baggrundsbillede på alle <TD>'er i det <TR>. Desuden skal baggrund skiftes uanset om der er link i tabelcellerne eller ej... er det dårlift forklaret???
Avatar billede gumphfy Nybegynder
18. juni 2003 - 17:31 #5
naaaj, hmm.

hvis du nu skriver:

<TABLE>
<TR onmouseover="changeRed(this);" onmouseout="changeWhite(this);">
<TD><a href="">Oprettet</TD><TD>navn</TD><TD><email></td></a>
</TR>
</TABLE>

og så kan du altid lave en <style> i <head> og skrive text-decoration:none; og vælge hvilken farve du vil ha'

prøv det lige
Avatar billede roenving Novice
18. juni 2003 - 17:32 #6
<HTML>
<SCRIPT language="javascript" type="text/javascript">
var imgs = new Array();

imgs[0] = new Array();
imgs[0][0] = new Image();
imgs[0][0].src = baggrund1.gif;
imgs[0][1] = new Image();
imgs[0][1].src = baggrund2.gif;
imgs[0][2] = new Image();
imgs[0][2].src = baggrund3.gif;

imgs[1] = new Array();
imgs[1][0] = new Image();
imgs[1][0].src = baggrund1_o.gif;
imgs[1][1] = new Image();
imgs[1][1].src = baggrund2_o.gif;
imgs[1][2] = new Image();
imgs[1][2].src = baggrund3_o.gif;


function changeOver(r){
for (i=0;i<r.children.length;i++){//>
r.children[i].style.backgroundImage="'url("+imgs[1][i].src+")'";
}
}
function changeOut(r){
for (i=0;i<r.children.length;i++){//>
r.children[i].style.backgroundImage="'url("+imgs[0][i].src+")'";
}
}

</SCRIPT>
</HEAD>
<BODY>
<TABLE>
<TR onmouseover="changeOver(this);" onmouseout="changeOut(this);">
<TD>Oprettet</TD><TD>navn</TD><TD><email></td>
</TR>
</TABLE>

</BODY>
</HTML>
Avatar billede rexdegn Nybegynder
18. juni 2003 - 23:12 #7
roenving... dit script laver fejl, men gumphfy WOW! Perfekt og simpelt...

Nu mangler jeg bare at skifte til baggrundsbillede istedet for farve, hvordan skriver man det??????

</head>
<SCRIPT language="javascript" type="text/javascript">
function changeRed(r){
for (i=0;i<r.children.length;i++){//>
r.children[i].style.backgroundColor="red"
}
}
function changeWhite(r){
for (i=0;i<r.children.length;i++){//>
r.children[i].style.backgroundColor="white"
}
}

</SCRIPT>
</HEAD>
<BODY>
<TABLE cellpadding="0" cellspacing="0">
<TR onMouseOver="this.style.cursor='hand'; changeRed(this);" onmouseout="changeWhite(this);">
<TD width="127">Oprettet</TD><TD width="85">navn</TD><TD width="206">email</td>
</TR>
</TABLE>
</body>
Avatar billede roenving Novice
18. juni 2003 - 23:19 #8
Når du nu har taget mit script og viser, kan du vel også sige hvad for en fejl mit andet script kommer med ?-)
Avatar billede roenving Novice
18. juni 2003 - 23:20 #9
Forøvrigt mangler der en <head> i alle udgaver indtil nu ...
Avatar billede rexdegn Nybegynder
18. juni 2003 - 23:23 #10
Sorry Roenving.... det var jo dit der virkede sorry... vedrørende head... det er jo blot en sniplet af koden ;-) men hvordan sætter jeg baggrundbillede ind istedet for farve i det kode jeg har brugt???
Avatar billede roenving Novice
18. juni 2003 - 23:26 #11
function changeOver(r){
for (i=0;i<r.children.length;i++){//>
r.children[i].style.backgroundImage="url("+imgs[1][i].src+")";
}
}
function changeOut(r){
for (i=0;i<r.children.length;i++){//>
r.children[i].style.backgroundImage="url("+imgs[0][i].src+")";
}
}

-- prøv at fjerne 'erne -- jeg har ikke lige eksempler på billeder, jeg kan bruge, så jeg kan ikke selv gå det igennem i detaljer ...
Avatar billede roenving Novice
18. juni 2003 - 23:27 #12
Det virker nu for mig -- med den tilføjelse, at du skal huske at sætte gåseøjne på:

imgs[1][2].src = "baggrund3_o.gif";
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