ciao a tutti, vorrei poter evidenziare una colonna onmouseover.
dato il codice in basso ci riesco solo se la colonna non ha un colspan altrimenti non si evidenzia l'intera colonna con i due <td> relativi ma solo la prima cella: il primo <td></td>.
come mai? dove sbaglio?
codice:<STYLE> TABLE {border: 1pt lightgrey solid} TH {background: lightgrey; color: darkred; border: 2px lightgrey outset; cursor: default} TD {border-right: 2px lightgrey solid} .cover {background: navy; color: yellow} .rover {background: black; color: white} </STYLE> <script> <!-- var rowHighlight = true // turn on row highlights var colHighlight = true // turn off row highlights function getElement(el) { var tagList = new Object for (var i = 1; i < arguments.length; i++) tagList[arguments[i]] = true while ((el!=null) && (tagList[el.tagName]==null)) el = el.parentElement return el } function checkHighlight(which) { var el = getElement(event.srcElement,"TH","TD") if (el==null) return if ((el.tagName=="TH") && (colHighlight)) { var idx = el.cellIndex var table = getElement(el, "TABLE") var column = table.all.tags("COL")[idx] if (which) column.className="cover" else column.className="" } if ((el.tagName=="TD") && (rowHighlight)) { var row = getElement(el, "TR") var table = getElement(row, "TABLE") if (which) row.className = "rover" else row.className = "" cache = row } } // --> </script> </head> <body> <TABLE ONSELECTSTART="return false" ONMOUSEOVER="checkHighlight(true)" ONMOUSEOUT="checkHighlight(false)" CELLSPACING=0> <COL WIDTH=100><COL WIDTH=100><COL WIDTH=100> <THEAD> <TR> <TH>Column 1</TH> <TH>Column 2</TH> <TH colspan="2">Column 3</TH> </TR> </THEAD> <TBODY> <TR> <TD>Item 1</TD> <TD>Item 2</TD> <TD>Item 3</TD> <TD>kkk</TD> </TR> <TR> <TD>Item 1</TD> <TD>Item 2</TD> <TD>Item 3</TD> <TD>ll</TD> </TR> <TR> <TD>Item 1</TD> <TD>Item 2</TD> <TD>Item 3</TD> <TD>DDD</TD> </TR> </TBODY> </TABLE> </body>

Rispondi quotando