Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    highlitght colonna tabella

    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>
    ---------------------------
    danielix05

  2. #2

    qualche idea?

    ---------------------------
    danielix05

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ma la variabile event dov'è definita?

  4. #4
    ma la variabile event dov'è definita?
    getElement(event.srcElement,"TH","TD")

    ma testando il codice funziona tutto tranne, come dicevo, se inserisco un <th colspan='2'>

    quindi immagino che la dichiarazione che ho trascritto sia corretta.
    ---------------------------
    danielix05

  5. #5

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.