titanum
26-10-2012, 16:37
Ciao ragazzi, sto realizzando una semplice galleria con javascript, che perņ da qualche problemino: ho creato un file galleria.js dove c'č questo codice
function galleria(id,indirizziFoto){
this.riquadro = null;
this.immagini = indirizziFoto;
this.imgAttuale = 0; //l'indice dell'riquadro attuale inizializzato a 0, la prima immagine dell'array
this.init = function() {
this.riquadro = document.getElementById(id);
};
this.avanti = function(){
this.imgAttuale += 1;
this.riquadro.src = indirizziFoto[imgAttuale];
};
this.indietro = function() {
this.imgAttuale -= 1;
this.riquadro.src = indirizziFoto[imgAttuale];
};
this.mostra(num) = function() {
this.imgAttuale += parseInt(num);
this.riquadro.src = indirizziFoto[imgAttuale];
};
}
Nella pagina dove voglio usare la galleria scrivo:
<script type=text/javascript src=js/galleria.js></script>
<script type=text/javascript>
immagini=new Array("gallerie/DSC_0050.JPG","gallerie/DSC_0051.JPG");
galleria = new galleria(document.getElementById("grande"),immagini);
</script>
e nel body eseguo l'inizializzazione
<body onload=galleria.init()>
Nella pagina ci sono tante foto miniature e una grande, se si clicca su una miniatura si attiva il metodo mostra della galleria che dovrebbe far visualizzare l'immagine grande:
<div id=divfoto>
<ul>
<li><img src=gallerie/DSC_0050.JPG width=110 height=80 onclick=galleria.mostra(0)></li>
.....altri tag li
</ul>
</div>
<div id=centrale>
<img id=grande src=gallerie/DSC_0050.JPG> </div>
</div>
Il problema č che non riconosce i metodi, nella console degli errori ho questi errori:
type error: galleria.init is not a function
e se clicco su una miniatura ottengo:
Reference error: num is not a function
Come posso fare per risolvere? Grazie mille
function galleria(id,indirizziFoto){
this.riquadro = null;
this.immagini = indirizziFoto;
this.imgAttuale = 0; //l'indice dell'riquadro attuale inizializzato a 0, la prima immagine dell'array
this.init = function() {
this.riquadro = document.getElementById(id);
};
this.avanti = function(){
this.imgAttuale += 1;
this.riquadro.src = indirizziFoto[imgAttuale];
};
this.indietro = function() {
this.imgAttuale -= 1;
this.riquadro.src = indirizziFoto[imgAttuale];
};
this.mostra(num) = function() {
this.imgAttuale += parseInt(num);
this.riquadro.src = indirizziFoto[imgAttuale];
};
}
Nella pagina dove voglio usare la galleria scrivo:
<script type=text/javascript src=js/galleria.js></script>
<script type=text/javascript>
immagini=new Array("gallerie/DSC_0050.JPG","gallerie/DSC_0051.JPG");
galleria = new galleria(document.getElementById("grande"),immagini);
</script>
e nel body eseguo l'inizializzazione
<body onload=galleria.init()>
Nella pagina ci sono tante foto miniature e una grande, se si clicca su una miniatura si attiva il metodo mostra della galleria che dovrebbe far visualizzare l'immagine grande:
<div id=divfoto>
<ul>
<li><img src=gallerie/DSC_0050.JPG width=110 height=80 onclick=galleria.mostra(0)></li>
.....altri tag li
</ul>
</div>
<div id=centrale>
<img id=grande src=gallerie/DSC_0050.JPG> </div>
</div>
Il problema č che non riconosce i metodi, nella console degli errori ho questi errori:
type error: galleria.init is not a function
e se clicco su una miniatura ottengo:
Reference error: num is not a function
Come posso fare per risolvere? Grazie mille