Newsgroup: it.comp.lang.javascript
Titolo: Scroll del testo

Come faccio a far visualizzare un messaggio in movimento (entra da
destra ed esce a sinistra) ?
Guercio
Guercio
Long live and prosper \\//_
"Bad dog don't cast that spell"
by Bad Dog, the creators of Daggerfall

 destra ed esce a sinistra) ?
Per rispondere a questo thread e a quello di "mas" ("Menu di Register.it") ho 
confezionato questo piccolo script DHTML.
E' una specie di marquee che funziona anche con Netscape.
Si posiziona da solo in basso nella pagina e resta in questa posizione anche se 
la pagina viene scrollata o la finestra del browser viene ridimensionata.
Ho preferito un approccio con document.write()/innerHTML, ma lo stesso 
risultato si sarebbe raggiunto anche usando un IFRAME ed il CLIP di NN.
Attenzione a ricreare le righe lunghe (l'indentazione ti sarà d'aiuto).
La serie di <BR> serve ad aumentare artificialmente la lunghezza del documento, 
altri commenti necessari sono all'interno dello script.
<HTML>
<HEAD>
	<TITLE>Marquee</TITLE>
<SCRIPT>
<!--
	// --------------------------------------------//
	// ------  Inizio Sezione Configurabile  ---- //
	// --------------------------------------------//
	// Stringa che verra' scrollata...
	var stringa = "Netscape and Netscape Navigator are registered trademarks 
of Netscape Communications Corporation in the United States and other 
countries. Netscape's logos and Netscape product and service names are also 
trademarks of Netscape Communications Corporation, which may be registered in 
other countries.";
	var car = 100; // Caratteri visualizzati della stringa...
	var bgcolor="#ffff00"; // Colore di sfondo del layer
	var FontBegin="<FONT FACE='verdana' COLOR='#dd0000'><B>"; // Tag 
d'inizio per la formattazione (<FONT>)
	var FontEnd="</B></FONT>"; // Tag di fine formattazione (</FONT>)
	var AltLayer=18 // Altezza del layer (marquee)
	// --------------------------------------------//
	// ------  Fine Sezione Configurabile ---- //
	// --------------------------------------------//
var nn = document.layers?true:false;
var layIE=null;layNN=null;laytext=null;timer1=null;timer2=null;pos=0;
function riposiziona()
	{
	texTop=nn?window.pageYOffset+window.innerHeight-
AltLayer:document.body.scrollTop+document.body.clientHeight-AltLayer;
	nn?laytext.top=texTop:laytext.style.top=texTop;
	}
function scrolla()
	{
	stringa.length-pos==0?pos=0:pos++;
	str=stringa.substr(pos,car);
	if (nn)
		{
		laytext.document.writeln("<PRE><CENTER> 
"+FontBegin+str+FontEnd+"</CENTER></PRE>");
		laytext.document.close();
		}else
			laytext.innerHTML="<PRE><CENTER> 
"+FontBegin+str+FontEnd+"</CENTER></PRE>";
	}
function inizia()
	{
	timer1=setInterval("riposiziona()",25);
	timer2=setInterval("scrolla()",100);
	}
//-->
</SCRIPT>
</HEAD>
<BODY onLoad="inizia();" onResize="self.location.reload();">
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
 <BR>
 
<SCRIPT>
<!--
// Questo script NON E' MODIFICABILE e va messo ALLA FINE DEL DOCUMENTO 
immediatamente prima del < / B O D Y >
	var texTop=nn?window.pageYOffset+window.innerHeight-
AltLayer:document.body.scrollTop+document.body.clientHeight-AltLayer;
	var layerWidth=nn?window.innerWidth:document.body.clientWidth;
	var layIE="<DIV ID='testo' 
STYLE='position:absolute;background:"+bgcolor+";top:"+texTop+"; 
left:0;visibility:visible;width:"+layerWidth+";height:"+AltLayer+"'> </DIV>";
	var layNN="<LAYER NAME='testo' position='absolute' bgColor='"+bgcolor+"' 
left='0' top='"+texTop+"' width='"+layerWidth+"' height='"+AltLayer+"' 
visibility='show' CLIP='0,0,"+layerWidth+","+AltLayer+"'>  </LAYER>";
	document.writeln(nn?layNN:layIE);
	var laytext=nn?document.layers.testo:document.all.testo;
//-->
</SCRIPT>
</BODY>
</HTML>
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------