Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309

    Tabelle che si accendono

    Salve ho una semplicissima tabella con 10 righe e una colonna, quando vado sopra le righe cambia il colore di fondo, ora vorrei fare che quando clicco su una riga, mi si colori di un colore diverso, se dopo clicco un'altra riga, la precedente torni com'era e quella appena cliccata cambi colore.
    Spero di essere stato chiaro, vi posto il codice che ho fatto per il rollover delle righe:
    codice:
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
    <TITLE></TITLE>
    <STYLE type=text/css>
    /*Classi per rollOver delle celle*/
    .testoAutoMenu {
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 12px;
    	color: #333366;
    	TEXT-DECORATION: none;
    	BACKGROUND-COLOR: #D6D5D5;
    	CURSOR: Hand;
    }
    .testoAutoMenuR {
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 12px;
    	color: #333366;
    	BACKGROUND-COLOR: #CEE0E7;
    	TEXT-DECORATION: none;
    	CURSOR: Hand;
    }
    </style>
    <script language=Javascript>
    function accendi()	{
    	alert('ok');
    }
    </script>
    </HEAD>
    <BODY>
    <table width="100%" border="0" cellspacing="1" cellpadding="1">
    	  <tr> 
    	    <td height="22" 
    	  	onmouseout="this.className='testoAutoMenu'" 
    	  	onmouseover="this.className='testoAutoMenuR'" 
    	  	onClick="accendi();"> 
    	      [img]layout/segnalinoAero.gif[/img] 
    	      <font color="#666666">Prima</font></td>
    	  </tr>
    	  <tr> 
    	    <td height="22" 
    	  	onmouseout="this.className='testoAutoMenu'" 
    	  	onmouseover="this.className='testoAutoMenuR'"
    	  	onClick="accendi();"> 
    	      [img]layout/segnalinoAero.gif[/img] 
    	      <font color="#666666">Secondo</font></td>
    	  </tr>
    	  <tr> 
    	    <td height="22" 
    	  	onmouseout="this.className='testoAutoMenu'" 
    	  	onmouseover="this.className='testoAutoMenuR'"
    	  	onClick="accendi();"> 
    	      [img]layout/segnalinoAero.gif[/img] 
    	      <font color="#666666">Terzo</font></td>
    	  </tr>
    </table>
    </BODY>
    </HTML>
    Ciao By Peter_Pan...

  2. #2
    prova così:

    codice:
    function accendi(riga) {
     var righe=document.getElementsByTagName('td');
     for (var i=0; i<righe.length; i++)
      if (righe[i].id.indexOf('riga')!=-1) {
       if (righe[i].id==riga.id) righe[i].setAttribute('bgColor', '#FFFFFF');
       else righe[i].setAttribute('bgColor', '#CCCCCC');
      }
    }
    devi associare, però, a ogni riga della tua tabella un id di questo tipo:

    codice:
    <td id="riga01" onclick="accendi(this);" ...
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    in verità non succede niente, perchè???? AIUTO
    Ciao By Peter_Pan...

  4. #4
    Originariamente inviato da Peter_Pan
    in verità non succede niente, perchè???? AIUTO
    ecco un esempio completamente funzionante:

    codice:
    <html>
    <head>
    <title>Prova</title>
    
    
    <script language="javascript">
    
    function accendi(riga) {
     var righe=document.getElementsByTagName('td');
     for (var i=0; i<righe.length; i++)
      if (righe[i].id.indexOf('riga')!=-1) {
       if (righe[i].id==riga.id) righe[i].setAttribute('bgColor', '#FFFFFF');
       else righe[i].setAttribute('bgColor', '#CCCCCC');
      }
    }
    
    </script>
    
    </head>
    <body>
    <table border="1">
    <tr>
    <td id="riga01" onclick="accendi(this);" bgcolor="#CCCCCC">Cella1</td>
    </tr>
    <tr>
    <td id="riga02" onclick="accendi(this);" bgcolor="#CCCCCC">Cella2</td>
    </tr>
    <tr>
    <td id="riga03" onclick="accendi(this);" bgcolor="#CCCCCC">Cella3</td>
    </tr>
    </table>
    </body>
    </html>
    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    Ok sono riuscito, solo che così mi o devo togliere il rollOver, oppure basta che mi sposto di riga e si deseleziona quella che avevo cliccato ti posto un esempio di quello che ho fatto io, ho leggermente modificato il codice JS per usare le classi e non il bgcolor:
    codice:
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
    <TITLE></TITLE>
    <STYLE type=text/css>
    /*Classi per rollOver delle celle*/
    .testoAutoMenu {
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 12px;
    	color: #333366;
    	TEXT-DECORATION: none;
    	BACKGROUND-COLOR: #D6D5D5;
    	CURSOR: Hand;
    }
    .testoAutoMenuR {
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 12px;
    	color: #333366;
    	BACKGROUND-COLOR: #CEE0E7;
    	TEXT-DECORATION: none;
    	CURSOR: Hand;
    }
    .terzo	{
    	BACKGROUND-COLOR: #C20D0D;
    }
    
    </style>
    <script language=Javascript>
    function accendi(riga) {
     var righe=document.getElementsByTagName('td');
     for (var i=0; i<righe.length; i++)
      if (righe[i].id.indexOf('riga')!=-1) {
       if (righe[i].id==riga.id) righe[i].className='terzo';
       //if (righe[i].id==riga.id) righe[i].setAttribute('bgColor', '#FFFFFF');
       else righe[i].className='testoAutoMenu';
       //else righe[i].setAttribute('bgColor', '#CCCCCC');
      }
    }
    
    
    </script>
    </HEAD>
    <BODY>
    	<table width="100%" border="0" cellspacing="1" cellpadding="1">
    	  <tr> 
    	    <td id="riga01" class="testoAutoMenu" height="22" 
    	    onmouseout="this.className='testoAutoMenu'" 
    		onmouseover="this.className='testoAutoMenuR'"
    	    onclick="accendi(this);"> 
    	      [img]layout/segnalinoAero.gif[/img] 
    	      <font color="#666666">Primo</font></td>
    	  </tr>
    	  <tr> 
    	    <td id="riga02" class="testoAutoMenu" height="22" 
    	    onmouseout="this.className='testoAutoMenu'" 
    		onmouseover="this.className='testoAutoMenuR'"
    	    onclick="accendi(this);"> 
    	      [img]layout/segnalinoAero.gif[/img] 
    	      <font color="#666666">Secondo</font></td>
    	  </tr>
    	  <tr> 
    	    <td id="riga03" class="testoAutoMenu" height="22" 
    	    onmouseout="this.className='testoAutoMenu'" 
    		onmouseover="this.className='testoAutoMenuR'"
    	    onclick="accendi(this);"> 
    	      [img]layout/segnalinoAero.gif[/img] 
    	      <font color="#666666">Terzo</font></td>
    	  </tr>
    	  
    	</table>
    
    </BODY>
    </HTML>
    Ciao By Peter_Pan...

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    Grazie proprio quello che cercavo, ora provo a capirci qualche cosa..
    Ciao By Peter_Pan...

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633
    Originariamente inviato da Peter_Pan
    Grazie proprio quello che cercavo, ora provo a capirci qualche cosa..
    a riguardo avevo scritto un articolo:
    http://pro.html.it/articoli/id_273/i...pag_3/pag.html
    (ma ora pro.html.it non funzia)...cmq era una mia vecchia pillola:
    http://forum.html.it/forum/showthrea...hreadid=386312

    ciauz
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    Ok mi funziona tutto bene, una sola cosa, c'è un modo quando carico la pagina per dare come selezionato (cliccato) la prima riga della tabella?
    Tipo nell'onLoad mettere riga1 cliccata??
    Ciao By Peter_Pan...

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    up...
    standard mi puoi aiutare a risolvere questo problemino??
    Ciao By Peter_Pan...

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.