Script da eseguire su più elementi div in una singola pagina web

marckhh

Nuovo Utente
6 Gen 2008
1
0
0
Salve ragazzi,
ho un problema. Sto costruendo un sito e mi si è posto il seguente quesito. Realizzare una galleria di immagini che si aprissero al visitato tramite una finestra di popup. Ho scaricato uno script, poi lo messo in pratica. Bene, sembrava tutto funzionare. Ma la mia idea area quella di inserire, per un sito di arredamento, nella stessa pagina web più categorie di foto. Mi spiego

Ad esempio, ho realizzato una sezione "cucine" ed ho messo 6 foto di cucine. Poi una sezione salotti con altre 6 foto, e così via. Tutto nella stessa pagina web.

Ora, eseguendo lo script che accade? Che funziona solo con la prima serie di foto, mentre dalla seconda serie in poi non va (prima serie di foto intendo le prime 6). Questo perchè lo script, ora posto il codice, pesca i dati da un div che si chiama minipics. Ogni div contiene le 6 foto relative, ed ogni div l'ho chiamato appunto minipics.

Ma perchè lo script funziona solo con il primo div? Ecco il codice per capirci. Prima lo script.

Codice:
var titolo;

window.onload=function(){
if(!document.getElementById || !document.getElementsByTagName) return;
links=document.getElementById("minipics").getElementsByTagName("a");

for(i=0;i<links.length;i++)
links[i].onclick=function(){PrevFoto(this);return(false)}
}

function PrevFoto(obj){
img=obj.getAttribute("href");
titolo=obj.getElementsByTagName("img")[0].title;
foto1= new Image();
foto1.src=img;
Controlla(img);
}
function Controlla(img){
if((foto1.width!=0)&&(foto1.height!=0)){
viewFoto(img);
}
else{
funzione="Controlla('"+img+"')";
intervallo=setTimeout(funzione,100);
}
}

function viewFoto(img){
largh=foto1.width+20;
altez=foto1.height+25;
stringa="width="+largh+",height="+altez;
finestra=window.open(img,"",stringa);
finestra.document.title=titolo;
}

Questo invece il codice html dove ci sono le foto:

HTML:
<td>
<div align="center" id="gallery">
<div id="zoom"><h3 id="titolo">Clicca sulle miniature per vedere gli ingrandimenti.</h3></div>
<div id="minipics">
<ul>
<li><a href="IMAGES/camere%20da%20letto/CORNER-10%5B1%5D.jpg"><img src="IMAGES/camere%20da%20letto/CORNER-10%5B1%5D_small.jpg" alt="uovo" width="200" height="123" title="Uovo"></a></li>
<li><a href="IMAGES/camere%20da%20letto/EROS-5-4%5B1%5D.jpg"><img src="IMAGES/camere%20da%20letto/EROS-5-4%5B1%5D_small.jpg" alt="Campo di grano in una notte d' estate" width="200" height="124" title="Campo di grano in una notte d' estate"></a></li>
<li><a href="IMAGES/camere%20da%20letto/EROS-5-6%5B1%5D.jpg"><img src="IMAGES/camere%20da%20letto/EROS-5-6%5B1%5D_small.jpg" alt="Arancia digitale" width="200" height="151" title="Arancia digitale"></a></li>
<li><a href="IMAGES/camere%20da%20letto/gruppi_univ02%5B1%5D.jpg"><img src="IMAGES/camere%20da%20letto/gruppi_univ02%5B1%5D_small.jpg" alt="foresta frullata" width="200" height="143" title="Foresta frullata"></a></li>
<li><a href="IMAGES/camere%20da%20letto/PRIMULA-2-7%5B1%5D.jpg"><img src="IMAGES/camere%20da%20letto/PRIMULA-2-7%5B1%5D_small.jpg" alt="Come posso dormire con i tuoi occhi nella mente" width="200" height="140" title="Come posso dormire con i tuoi occhi nella mente"></a></li>
<li><a href="IMAGES/camere%20da%20letto/protag09%5B1%5D.jpg"><img src="IMAGES/camere%20da%20letto/protag09%5B1%5D_small.jpg" alt="Acqua ottica" width="200" height="143" title="Acqua ottica"></a></li>
</ul>
<div style="clear:left"> </div>
</div>
</div>
</td>
Ora, questa è la sezione cucine. Immagine altre due parti di codice per salotti e soggiorni, con codice html medesimo. Perchè lo script gira solo con la prima sezione, mentre salta le altre due?

Grazie a tutti!!!