Newsgroup: it.comp.lang.javascript
Titolo: Slideshow

Ciao raga, volevo chiedervi un'informazione: è possibile inserire due
slideshow distinti all'interno di una pagina html? Ho provato diverse
volte, ma ne veniva visualizzato solo uno. Grazie

 volte, ma ne veniva visualizzato solo uno.
?!?
Magari sii un po' piu' esplicito, spiega anche un po' meglio ed infine
potresti scrivere 2 righe di codice...


Giusto:
questo è lo script, vorrei inserirlo per due o tre volte
contemporaneamente in una pagina. Lo copio quindi tre volte ma ciò che
succede è che viene visualizzato solamente uno dei tre slideshow. . .
Questo è il codice:
<script type="text/javascript">
var terzo=new Array()
//terzo[x]=["path to image", "OPTIONAL link for image", "OPTIONAL link
target"]
terzo[0]=['foto/foto1.jpg', '', '']
terzo[1]=['foto/foto2.jpg', '', '']
//configure the below 3 variables to set the dimension/background
color of the slideshow
var slidewidth="155px" //set to width of LARGEST image in your
slideshow
var slideheight="104px" //set to height of LARGEST iamge in your
slideshow
var slidecycles="continuos" //number of cycles before slideshow stops
(ie: "2" or "continous")
var randomorder="no" //randomize the order in which images are
displayed? "yes" or "no"
var preloadimages="yes" //preload images? "yes" or "no"
var slidebgcolor='white'
//configure the below variable to determine the delay between image
rotations (in militeronds)
var slidedelay=3000
////Do not edit pass this line////////////////
var ie=document.all
var dom=document.getElementById
var curcycle=0
if (preloadimages=="yes"){
for (i=0;i<terzo.length;i++){
var cacheimage=new Image()
cacheimage.src=terzo[i][0]
}
}
var currentslide=0
function randomize(targetarray){
terzoCopy=new Array()
var the_one
var z=0
while (z<targetarray.length){
the_one=Math.floor(Math.random()*targetarray.length)
if (targetarray[the_one]!="_selected!"){
terzoCopy[z]=targetarray[the_one]
targetarray[the_one]="_selected!"
z++
}
}
}
if (randomorder=="yes")
randomize(terzo)
else
terzoCopy=terzo
function rotateimages(){
curcycle=(currentslide==0)? curcycle+1 : curcycle
tercontainer='<center>'
if (terzoCopy[currentslide][1]!="")
tercontainer+='<a href="'+terzoCopy[currentslide][1]+'"
target="'+terzoCopy[currentslide][2]+'">'
tercontainer+='<img src="'+terzoCopy[currentslide][0]+'" border="0">'
if (terzoCopy[currentslide][1]!="")
tercontainer+='</a>'
tercontainer+='</center>'
if (ie||dom)
crossrotateobj.innerHTML=tercontainer
if (currentslide==terzo.length-1) currentslide=0
else currentslide++
if (curcycle==parseInt(slidecycles) && currentslide==0)
return
setTimeout("rotateimages()",slidedelay)
}
if (ie||dom)
document.write('<div id="slidedom" style="width:'+slidewidth
+';height:'+slideheight+'; background-color:'+slidebgcolor+'"></div>')
function start_slider(){
crossrotateobj=dom? document.getElementById("slidedom") :
document.all.slidedom
rotateimages()
}
if (ie||dom)
window.onload=start_slider
</script>

 <script type="text/javascript">
cut...
Sospetto che le tue conoscenze di JavaScript e in generale di
programmazione siano un po' pochine...
Mi dispiace ma adesso non ho tempo di mettermici dietro e spiegarti e
magari farti questa cosa.
Magari oggi c'e' qualcuno che ha del tempo libero per risponderti e/o
spiegarti...


Non sono poche le mie conoscenze di programmazione. Non riesco a
capire il "non funziona".
Grazie

 Non sono poche le mie conoscenze di programmazione.
Come speri che funzioni tutto quell'ambaradan quando ci sono variabili
globali (definite per un unico slideshow)? Riorganizza la cosa a oggetti,
oppure usa degli array, fai un po' tu, ma cosě com'č non capisco come speri
di usarlo per avere piů di uno slideshow.
-- 
Nando [?]
Apostolo della Prova

 Apostolo della Prova
Appunto, io inserivo due volte lo script cambiando opportunamente i
nomi degli array. Devo aggiungere qualche altra cosa?

 Devo aggiungere qualche altra cosa?
Hai cambato anche l'id dell'elemento in cui vengono visualizzate le
immagini? Se ce n'č piů d'uno, occorre ovviamente utilizzare tanti id
diversi, e far partire l'animazione per tutti.


 Apostolo della Prova
Ok, forse non li facevo partire, ora ricontrollo. Grazie