Newsgroup: it.comp.lang.javascript
Titolo: Alternare contenuto di celle di una tabella tramite javascript

Salve a tutti.
Dovrei alternare ogni XX secondi il contenuto di quattro celle di una
tabella.
Mi spiego meglio. Adesso la tabella contiene
A B
C D
tra XX secondi il contenuto sarà
E F
G H
dopo altri XX secondi tornerà
A B
C D
e così via...
Purtroppo non so nulla, o quasi, di Javascript. Qualcuno ha qualche
funzione o esempio da suggerirmi?
Grazie mille, qualsiasi suggerimento è bene accetto. Purtroppo non ho
il tempo per uno studio serio di Javascript.
Ciao,
Nicola



Purtroppo, se uno vuole andare in bicicletta, deve pedalare ... qualche 
spunto:
 a) eseguire una function ogni tot millisecondi:
 
https://developer.mozilla.org/en/window.setInterval
 b) Per semplicità, salvati in una var globale lo stato attuale (in 
mancanza di altre info è la strada più semplice), es. scritta1=true;
 c) nella tua function, per ogni cella:
	a) recuperi un riferimento alla cella tramite ID (che deve essere 
quindi settato come attributo del tag td):
 
https://developer.mozilla.org/en/DOM/document.getElementByID
	b) if(scritta1) scriverai E, else scriverai A. Per scrivere, dato 
che non sappiamo che contenuto è, userei innerHTML:
 
https://developer.mozilla.org/en/DOM/element.innerHTML
	c) una volta fatto per le 4 celle cambi il valore di scritta1, 
del tipo scritta1=!scritta1;

Il Tue, 12 Apr 2011 09:02:07 -0700, Nicola Sturaro Sommacal ha scritto:

Purtroppo, se uno vuole andare in bicicletta, deve pedalare ... qualche 


 spunto:
Come hai ragione.. Purtroppo non sempre si riesce a pedalare
velocemente come richiesto dalla corsa in bicicletta.
Sinceramente non ho capito tutto il tuo discorso, ma è stato comunque
un input utile per risolvere il mio problema. In effetti a me non è
necessario cambiare il contenuto delle quattro celle, visto che quelle
celle costituiscono l'intera tabella. Così ho pensato di ricorrere a
due tabelle diverse che si alternano.
Il codice minimale  che riporto sotto ha funzionato.
Grazie per i preziosi input.
Ciao,
Nicola
--
<html>
	<head>
		<style type = "text/css">
			.hide {display: none; }
			.show {display: block; }
		</style>
		<script type="text/javascript">
			var intervalID;
			var secs;
			secs = 2;
			window.onload = function(){
				timer();
			}
			function timer() {
				intervalID = setInterval(changeTable, secs*1000);
			}
			function changeTable() {
				var elem1 = document.getElementById("tabella1");
				var elem2 = document.getElementById("tabella2");
				if(elem1.className != "hide") {elem1.className = "hide"; } else
{elem1.className = "show"; }
				if(elem2.className != "hide") {elem2.className = "hide"; } else
{elem2.className = "show"; }
			}
		</script>
	</head>
	<body>
		<table id = "tabella1" class = "hide">
			<tr><td>A</td><td>B</td></tr><tr><td>C</td><td>D</td></tr>
		</table>
		<table id = "tabella2" class = "show">
			<tr><td>E</td><td>F</td></tr><tr><td>G</td><td>H</td></tr>
		</table>
	</body>
</html>

 			.show {display: block; }
per tag "table" il valore display dovrebbe essere table o inline-table:
 
http://www.w3.org/TR/CSS2/tables.html#value-def-table
Dato che le vecchie versioni di IE non lo riconoscono, io setterei prima 
display:block e poi display:table;

 			.show {display: block; }
per tag "table" il valore display dovrebbe essere table o inline-table:


 il tempo per uno studio serio di Javascript.
Hope it helps.
Ma se hai intenzione di continuare a maneggiare un minimo JavaScript e
codice front-end, ti consiglio di ritagliare un po' di tempo per
studiarlo un poco.
-- 
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth."