Newsgroup: it.comp.lang.javascript
Titolo: doppio scroll di testo

Per effettuare lo scroll di testo utilizzo un codice javascript
recuperato sulla rete.
Avrei bisogno di caricarne due sulla stessa pagina ma, 
sto prendendo atto che dei due script che introduco 
me ne viene visualizzato solo uno.
Sbaglio in qualcosa o e' un problema di fondo?
Grazie
Giamber  
punto e virgola trattino chiusa parentesi
punto e virgola trattino chiusa parentesi

 Grazie
Posta il codice così lo si può commentare

 Sbaglio in qualcosa o e' un problema di fondo?
beh, dipende ... se hai incluso 2 volte lo stesso identico file sì,
ovviamente uno sovrascrive l'altro.
Occorrerà adattarlo e renderlo "variabile" per poter supportare
contemporaneamente più di uno scroll (ci saranno dei setInterval immagino
per lo scorrimento, variabili per il timer etc)
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

Posta il codice così lo si può commentare
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Nuova pagina 2</title>
</head>
<body>
<!-- INSERIMENTO SCROLLER AUDIOTEXT--->
<script type="text/javascript">
/***********************************************
* Fading Scroller- © Dynamic Drive DHTML code library
(
www.dynamicdrive.com
)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at 
http://www.dynamicdrive.com/
 for full source
code
***********************************************/
var delay = 3000; //set delay between message change (in miliseconds)
var maxsteps=30; // number of steps to take to change from start color
to endcolor
var stepdelay=100; // time in miliseconds of a single step
//**Note: maxsteps*stepdelay will be total time in miliseconds of
fading effect
var startcolor= new Array(0,255,255); // start color (red, green,
blue)
var endcolor=new Array(0,0,66); // end color (red, green, blue)
var fcontent=new Array();
begintag='<div style="font: normal 14px Arial narrow; padding: 4px;"
align="right"><div style="position: absolute; top: 424; left: 545;
width: 200; height: 21; z-index: 1">'; //set opening tag, such as font
declarations
fcontent[0]="R. Schumann:";
fcontent[1]="Da genti e paesi lontani";
fcontent[2]="Des pays mystèrieux";
fcontent[3]="From foreign lands and peoples";
fcontent[4]="Von fremden Landern und Menschen";
fcontent[5]="";
closetag='</div>';
var fwidth='250px'; //set scroller width
var fheight='10px'; //set scroller height
var fadelinks=1;  //should links inside scroller content also fade
like text? 0 for no, 1 for yes.
///No need to edit below this line/////////////////
var ie4=document.all&&!document.getElementById;
var DOM2=document.getElementById;
var faderdelay=0;
var index=0;
/*Rafael Raposo edited function*/
//function to change content
function changecontent(){
  if (index>=fcontent.length)
    index=0
  if (DOM2){
document.getElementById("fscroller").style.color="rgb("+startcolor[0]+",
"+startcolor[1]+", "+startcolor[2]+")"
document.getElementById("fscroller").innerHTML=begintag+fcontent[index]+closetag
    if (fadelinks)
      linkcolorchange(1);
    colorfade(1, 15);
  }
  else if (ie4)
document.all.fscroller.innerHTML=begintag+fcontent[index]+closetag;
  index++
}
// colorfade() partially by Marcio Galli for Netscape Communications.
////////////
// Modified by Dynamicdrive.com
function linkcolorchange(step){
  var
obj=document.getElementById("fscroller").getElementsByTagName("A");
  if (obj.length>0){
    for (i=0;i<obj.length;i++)
      obj[i].style.color=getstepcolor(step);
  }
}
/*Rafael Raposo edited function*/
var fadecounter;
function colorfade(step) {
  if(step<=maxsteps) {	
document.getElementById("fscroller").style.color=getstepcolor(step);
    if (fadelinks)
      linkcolorchange(step);
    step++;
    fadecounter=setTimeout("colorfade("+step+")",stepdelay);
  }else{
    clearTimeout(fadecounter);
document.getElementById("fscroller").style.color="rgb("+endcolor[0]+",
"+endcolor[1]+", "+endcolor[2]+")";
    setTimeout("changecontent()", delay);
 
  }   
}
/*Rafael Raposo's new function*/
function getstepcolor(step) {
  var diff
  var newcolor=new Array(3);
  for(var i=0;i<3;i++) {
    diff = (startcolor[i]-endcolor[i]);
    if(diff > 0) {
      newcolor[i] = startcolor[i]-(Math.round((diff/maxsteps))*step);
    } else {
      newcolor[i] =
startcolor[i]+(Math.round((Math.abs(diff)/maxsteps))*step);
    }
  }
  return ("rgb(" + newcolor[0] + ", " + newcolor[1] + ", " +
newcolor[2] + ")");
}
if (ie4||DOM2)
  document.write('<div id="fscroller" style="border:0px solid
black;width:'+fwidth+';height:'+fheight+'"></div>');
if (window.addEventListener)
window.addEventListener("load", changecontent, false)
else if (window.attachEvent)
window.attachEvent("onload", changecontent)
else if (document.getElementById)
window.onload=changecontent
</script>
<!-- FINE INSERIMENTO SCROLLER TESTO AUDIO--->
<! INSERIMENTO SCROLLER VERSI--->
<script type="text/javascript">
/***********************************************
* Fading Scroller- © Dynamic Drive DHTML code library
(
www.dynamicdrive.com
)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at 
http://www.dynamicdrive.com/
 for full source
code
***********************************************/
var delay = 3000; //set delay between message change (in miliseconds)
var maxsteps=30; // number of steps to take to change from start color
to endcolor
var stepdelay=100; // time in miliseconds of a single step
//**Note: maxsteps*stepdelay will be total time in miliseconds of
fading effect
var startcolor= new Array(20,50,250); // start color (red, green,
blue)
var endcolor=new Array(50,100,250); // end color (red, green, blue)
var fcontent=new Array();
begintag='<div style="font: normal 14px Arial narrow; padding: 4px;"
align="left"><div style="position: absolute; top: 100; left: 10;
width: 200; height: 21; z-index: 15">'; //set opening tag, such as
font declarations
fcontent[0]="esposto al mare e ai monti il corpo rosa,<br>nuda e
sinuosa s'immerge nell'azzurro";
fcontent[1]="esposto al mare e ai monti il corpo rosa,<br>nuda e
sinuosa s'immerge nell'azzurro";
fcontent[2]="";
fcontent[3]="elle a déroulé <br>les secrets de ses courbes <br>elle
s’est déliée <br>pli contre pli <br>noble et fière elle s’est campée
<br>indomptée dans la lumière des flots <br>du ciel et de la mer";
fcontent[4]="elle a déroulé <br>les secrets de ses courbes <br>elle
s’est déliée <br>pli contre pli <br>noble et fière elle s’est campée
<br>indomptée dans la lumière des flots <br>du ciel et de la mer";
fcontent[5]="elle a déroulé <br>les secrets de ses courbes <br>elle
s’est déliée <br>pli contre pli <br>noble et fière elle s’est campée
<br>indomptée dans la lumière des flots <br>du ciel et de la mer";
fcontent[6]="";
closetag='</div>';
var fwidth='250px'; //set scroller width
var fheight='110px'; //set scroller height
var fadelinks=1;  //should links inside scroller content also fade
like text? 0 for no, 1 for yes.
///No need to edit below this line/////////////////
var ie4=document.all&&!document.getElementById;
var DOM2=document.getElementById;
var faderdelay=0;
var index=0;
/*Rafael Raposo edited function*/
//function to change content
function changecontent(){
  if (index>=fcontent.length)
    index=0
  if (DOM2){
document.getElementById("fscroller").style.color="rgb("+startcolor[0]+",
"+startcolor[1]+", "+startcolor[2]+")"
document.getElementById("fscroller").innerHTML=begintag+fcontent[index]+closetag
    if (fadelinks)
      linkcolorchange(1);
    colorfade(1, 15);
  }
  else if (ie4)
document.all.fscroller.innerHTML=begintag+fcontent[index]+closetag;
  index++
}
// colorfade() partially by Marcio Galli for Netscape Communications.
////////////
// Modified by Dynamicdrive.com
function linkcolorchange(step){
  var
obj=document.getElementById("fscroller").getElementsByTagName("A");
  if (obj.length>0){
    for (i=0;i<obj.length;i++)
      obj[i].style.color=getstepcolor(step);
  }
}
/*Rafael Raposo edited function*/
var fadecounter;
function colorfade(step) {
  if(step<=maxsteps) {	
document.getElementById("fscroller").style.color=getstepcolor(step);
    if (fadelinks)
      linkcolorchange(step);
    step++;
    fadecounter=setTimeout("colorfade("+step+")",stepdelay);
  }else{
    clearTimeout(fadecounter);
document.getElementById("fscroller").style.color="rgb("+endcolor[0]+",
"+endcolor[1]+", "+endcolor[2]+")";
    setTimeout("changecontent()", delay);
 
  }   
}
/*Rafael Raposo's new function*/
function getstepcolor(step) {
  var diff
  var newcolor=new Array(3);
  for(var i=0;i<3;i++) {
    diff = (startcolor[i]-endcolor[i]);
    if(diff > 0) {
      newcolor[i] = startcolor[i]-(Math.round((diff/maxsteps))*step);
    } else {
      newcolor[i] =
startcolor[i]+(Math.round((Math.abs(diff)/maxsteps))*step);
    }
  }
  return ("rgb(" + newcolor[0] + ", " + newcolor[1] + ", " +
newcolor[2] + ")");
}
if (ie4||DOM2)
  document.write('<div id="fscroller" style="border:0px solid
black;width:'+fwidth+';height:'+fheight+'"></div>');
if (window.addEventListener)
window.addEventListener("load", changecontent, false)
else if (window.attachEvent)
window.attachEvent("onload", changecontent)
else if (document.getElementById)
window.onload=changecontent
</script>
<!-- FINE INSERIMENTO SCROLLER VERSI--->
</body>
</html>


 <head>
Si tratta dello stesso codice con le stesse variabile ripetuto due
volte, quindi solo il valore assegnato alle variabili la seconda volta
viene tenuto in considerazione.
Il codice va modificato, è necessario prima di tutto evitare il
doppione, trasformare la parte iniziale del codice in una funzione alla
quale viene passata il testo e il container come parametri, tipo:
scrolla('fscroller1','frase uno','frase due','frase tre','frase
quattro')
poi una seconda chiamata
scrolla('fscroller2','altra frase uno','altra frase due','altra frase
tre','altra frase quattro')
bisogna lavorarci sopra, se trovo il tempo durante il fine settimana lo
faccio io però non posso prometterlo.
Ciao
Oreste

faccio io però non posso prometterlo.
punto e virgola trattino chiusa parentesi

 function getstepcolor(step) {
 function getstepcolor_2(step) {
etc etc etc
non è sicuramente la strada più bella (anzi è l'opposto di una corretta
programmazione) ma almeno non devi rifare tutto.
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

programmazione) ma almeno non devi rifare tutto.
punto e virgola trattino chiusa parentesi

 completo. Ciao 
no, mai provato, non uso script "già pronti", sorry.
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.