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

    formattare una tabella con javascript

    Spero che qualche guru del javascritp possa aiutarmi, perchè questa volta sono davvero in alto mare .
    Sto cercando di formattare una tabella come quelle di phpMyAdmin. Le particolarità che vorrei adottare sono queste:
    • Evidenziare una riga quando il mouse le passa sopra (e fin qui ci sono);
    • Evidenziare permanentemente una riga con il click del mouse;
    • Eliminare l'evidenziatura della riga con un altro click del mouse;
    • Fare in modo che, passando il mouse su una riga precedentemente cliccata, questa non cambi colore.


    Forse esiste già uno script, solo che non sono riuscito a recuperarlo.
    Help

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    al click, evidenziatura esclusiva (una esclude precedente)?

  3. #3
    Originariamente inviato da Xinod
    al click, evidenziatura esclusiva (una esclude precedente)?
    Esatto.

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    esempio veloce
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    <title>table rows: rollover and exclusive click</title>
    <style type="text/css">
    table {
    	border-collapse:collapse;
    	border:1px solid #f0f0f0;
    }
    td {
    	padding:.5em;
    	cursor:pointer;
    }
    tr.over {
    	background-color:#0f0;
    }
    tr.clic {
    	background-color:#ff0;
    }
    </style>
    <script type="text/JavaScript">
    /*<![CDATA[*/
    
    var trOn,src=null;
    
    function is_contained(el,into){
      while(el.parentNode) if((el=el.parentNode)==into) return true;
      return false;	
    }
    
    function over(e){
      if(!e) e=event;
      src=(e.target)?e.target:e.srcElement;
      if(src.tagName=="TABLE"||src.tagName=="TBODY") return;
      while(src.tagName!="TR") src=src.parentNode;
      if (src!=trOn) src.className='over';
    }
    
    
    function out(e){
      if(!e) e=event;
      if(is_contained(e.toElement||e.relatedTarget,src)||src==trOn) return;
      src.className='';
    }
    
    function clic() {
      if(trOn) trOn.className='';
      if(src!=trOn) {
        src.className='clic';
        trOn=src;
      }
      else trOn=null;
    }
    /*]]>*/
    </script>
    </head>
    <body>
    <table onmouseover="over(event)" onmouseout="out(event)" onclick="clic()">
    <tbody>
      <tr><td>[a1] 1</td><td>[a2] 2</td></tr>
      <tr><td>[b1] 3</td><td>[b2] 4</td></tr>
      <tr><td>[c1] <span>5</span></td><td>[c2] 6</td></tr>
      <tr><td>[d1] 7</td><td>[d2] 8</td></tr>
    </tbody>
    </table>
    </body>
    </html>
    ciao

  5. #5
    Mille grazie!

  6. #6
    Ho ancora un paio di domande. Spero che qualche guru del javascript mi possa aiutare.
    • Come devo modificare il codice per fare in modo che le righe siano di due colori alternati;
    • E' possibile fare in modo che passando il mouse sulla riga con il titolo della tabella, questa non venga sottolineata?


    Grazie

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.