Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969

    Funzione semplice per cambi colore riga non funziona su firefox

    Ho fatto una funzione semplicissima per cambiare al click del maouse il colore di background della riga cliccata di una tabella.
    Vorrei che cliccando cambi colore e ricliccando tolga il colore.
    Funziona su ie ma non su firefox.
    Come mai?
    Ecco il codice:

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    	<HEAD>
    		<script type="text/javascript">
    			<!--
    			function bgriga( id, color )
    			{
    				var riga = document.getElementById( id );
    				if( riga.style.background != color ) riga.style.background = color;
    				else riga.style.background = '';
    			}
    			//-->
    		</script>
    	</HEAD>
    	<body>
    		<table>
    			<tr onclick="bgriga('tr_1', '#cccccc')" id="tr_1">
    				<td>1</td>
    				<td>2</td>
    				<td>3</td>
    			</tr>
    			<tr onclick="bgriga('tr_2', '#cccccc')" id="tr_2">
    				<td>a</td>
    				<td>b</td>
    				<td>c</td>
    			</tr>
    			<tr onclick="bgriga('tr_3', '#cccccc')" id="tr_3">
    				<td>x</td>
    				<td>y</td>
    				<td>z</td>
    			</tr>
    		</table>
    	</body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    dopo var riga = document.getElementById( id );
    guarda da solo cosa ti ritrovi nel background
    alert(riga.style.background )
    e vedi se e' plausibile porre una condizione come
    if(riga.style.background != color)

    fai tutto con le classi, settando e leggendo il className
    prima di tutto ti eviti di dover convertire un colore che tu esprimi in triplette di esadecimali, ma che il browser restituisce come meglio preferisce (FF per esempio in rgb())
    poi alla lunga ti semplifica la vita perche' non impone stili inutili in linea e ti permette di usare nomi di classi che possono avere un significato aldila' di come rappresentano gli elementi
    (.evidenziato oggi e' giallo domani e' blu, il senso non cambia: l' elemento e' sempre evidenziato)

    ciao

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.