Avatar billede gil-galad Nybegynder
24. november 2005 - 21:46 Der er 4 kommentarer og
1 løsning

Menu onmouseover

Hej

Jeg har en tabel:

<table>
<tr>
<td id="menu1a"></td>
<td id="menu1b"></td>
<td id="menu1c"></td>
</tr>

<tr>
<td id="menu2a"></td>
<td id="menu2b"></td>
<td id="menu2c"></td>
</tr>

<tr>
<td id="menu3a"></td>
<td id="menu3b"></td>
<td id="menu3c"></td>
</tr>

</table>

Humlen er at hvis man fører musen over en af de tre celler på samme række, skal borderfarven ændre i a'erne og c'erne men baggrundsfarven skal ændres i b'eren. Selvfølgelig kun for dem i samme tr.

Nogen der kan hjælpe??
Avatar billede johan.o Nybegynder
24. november 2005 - 23:57 #1
Noget alá :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<title>Test.</title>
<style type="text/css">

td { border: 4px solid red; background-color: #C4C0D8; color: black; }

</style>
<script type="text/javascript">

function mOver(oRow) {
var a=0; oCell=new Array();
for(i=0; i<oRow.childNodes.length; i++) {
  if(oRow.childNodes[i].tagName=="TD") {
  oCell[a]=oRow.childNodes[i]; a++; } }
oCell[0].style.borderColor="blue";
oCell[1].style.backgroundColor="green";
oCell[2].style.borderColor="blue"; }

function mOut(oRow) {
var a=0; oCell=new Array();
for(i=0; i<oRow.childNodes.length; i++) {
  if(oRow.childNodes[i].tagName=="TD") {
  oCell[a]=oRow.childNodes[i]; a++; } }
oCell[0].style.borderColor="red";
oCell[1].style.backgroundColor="#C4C0D8";
oCell[2].style.borderColor="red"; }

</script>
</head>

<body>

<table>
<tr onmouseover="mOver(this);" onmouseout="mOut(this);">
<td>Pkt 1A</td>
<td>Pkt 1B</td>
<td>Pkt 1C</td>
</tr>
<tr onmouseover="mOver(this);" onmouseout="mOut(this);">
<td>Pkt 2A</td>
<td>Pkt 2B</td>
<td>Pkt 2C</td>
</tr>
<tr onmouseover="mOver(this);" onmouseout="mOut(this);">
<td>Pkt 3A</td>
<td>Pkt 3B</td>
<td>Pkt 3C</td>
</tr>
</table>

</body>
</html>

Mvh. Johan
Avatar billede johan.o Nybegynder
25. november 2005 - 00:34 #2
Hvis du vil have super enkel html :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<title>Test.</title>
<style type="text/css">

td { border: 4px solid red; background-color: #C4C0D8; color: black; }

</style>
<script type="text/javascript">

function mOver(oObject) {
if(oObject.tagName=="TD") {
  var a=0; oCell=new Array();
  for(i=0; i<oObject.parentNode.childNodes.length; i++) {
  if(oObject.parentNode.childNodes[i].tagName=="TD") {
    oCell[a]=oObject.parentNode.childNodes[i]; a++; } }
  oCell[0].style.borderColor="blue";
  oCell[1].style.backgroundColor="green";
  oCell[2].style.borderColor="blue"; } }

function mOut(oObject) {
if(oObject.tagName=="TD") {
  var a=0; oCell=new Array();
  for(i=0; i<oObject.parentNode.childNodes.length; i++) {
  if(oObject.parentNode.childNodes[i].tagName=="TD") {
    oCell[a]=oObject.parentNode.childNodes[i]; a++; } }
  oCell[0].style.borderColor="red";
  oCell[1].style.backgroundColor="#C4C0D8";
  oCell[2].style.borderColor="red"; } }

</script>
</head>

<body>

<table onmouseover="mOver(event.target?event.target:event.srcElement);" onmouseout="mOut(event.target?event.target:event.srcElement);">
<tr>
<td>Pkt 1A</td>
<td>Pkt 1B</td>
<td>Pkt 1C</td>
</tr><tr>
<td>Pkt 2A</td>
<td>Pkt 2B</td>
<td>Pkt 2C</td>
</tr><tr>
<td>Pkt 3A</td>
<td>Pkt 3B</td>
<td>Pkt 3C</td>
</tr>
</table>

</body>
</html>

Mvh. Johan
Avatar billede johan.o Nybegynder
25. november 2005 - 00:58 #3
Og faktisk burde dette være nok :

<script type="text/javascript">

var oCell=new Array();

function mOver(oObject) {
if(oObject.tagName=="TD") {
  var a=0;
  for(i=0; i<oObject.parentNode.childNodes.length; i++) {
  if(oObject.parentNode.childNodes[i].tagName=="TD") {
    oCell[a]=oObject.parentNode.childNodes[i]; a++; } }
  oCell[0].style.borderColor="blue";
  oCell[1].style.backgroundColor="green";
  oCell[2].style.borderColor="blue"; } }

function mOut(oObject) {
if(oObject.tagName=="TD") {
  oCell[0].style.borderColor="red";
  oCell[1].style.backgroundColor="#C4C0D8";
  oCell[2].style.borderColor="red"; } }

</script>

Nå, så må det vist også være nok :)

Mvh. Johan
Avatar billede gil-galad Nybegynder
28. november 2005 - 20:06 #4
det virker fint! Tak skal du have.

Smider du et svar??
Avatar billede johan.o Nybegynder
28. november 2005 - 20:45 #5
Naturligvis :)
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