Salve a tutti, sono un web designer che si deve sacrificare a fare il lavoro del programmatore javascript..
Non essendo completamente il mio campo, devo necessariamente andare a sbattere la testa da qualche parte, dopo svariate letture sono riuscito a partorire una piccola soluzione ad un mio problema, ma necessita probabilmente di qualche accorgimento essendo che questa di fatto non funziona... ecco il problema:
Ho una pagina con una fotogallery realizzata con lightbox (aggiornata settimanalmente), tralasciando le immagini vere e proprie, il problema si focalizza sull'indice per accedere a tutte le gallerie, che è realizzato con una definition list per ogni mese di fotografie, il codice parla meglio della descrizione
Essendo già passati ben 4 mesi, la lista inizia a diventare lunga, per cui ho deciso di mostrare agli utenti con javascript attivato, solo l'indice del mese corrente, nascondendo gli altri e facendoli riapparire solo al click dell'utente sul nome del mese tramite scriptaculous (libreria già caricata nella pagina grazie a lightbox).
Per fare questo ho provato a realizzare una funzione JS:
Sembra tutto in regola, tranne il fatto che non succede assolutamente nulla, i div rimangono li in bella evidenza.
Qualcuno sa aiutarmi ? Ho provato a cambiare in diversi modi le condizioni dell'if, escludendo ad esempio la seonda condizione o addirittura escludendo completamente l'if, non riesco a capire perchè non funzioni...
Vi prego illuminatemi!
Non essendo completamente il mio campo, devo necessariamente andare a sbattere la testa da qualche parte, dopo svariate letture sono riuscito a partorire una piccola soluzione ad un mio problema, ma necessita probabilmente di qualche accorgimento essendo che questa di fatto non funziona... ecco il problema:
Ho una pagina con una fotogallery realizzata con lightbox (aggiornata settimanalmente), tralasciando le immagini vere e proprie, il problema si focalizza sull'indice per accedere a tutte le gallerie, che è realizzato con una definition list per ogni mese di fotografie, il codice parla meglio della descrizione
HTML:
<div id="galleryindex">
<h3><a href="#">Mese 1</a></h3>
<div class="monthbox" id="mese0">
<dl class="indexbox">
<dt>Data della galleria 1</dt>
<dd>Descrizione</dd>
<dt>Data della galleria 2</dt>
<dd>Descrizione</dd>
</dl>
</div>
<h3><a href="#">Mese 2</a></h3>
<div class="monthbox" id="mese1">
<dl class="indexbox">
<dt>Data della galleria 3</dt>
<dd>Descrizione</dd>
<dt>Data della galleria 4</dt>
<dd>Descrizione</dd>
</dl>
</div>
</div>
Essendo già passati ben 4 mesi, la lista inizia a diventare lunga, per cui ho deciso di mostrare agli utenti con javascript attivato, solo l'indice del mese corrente, nascondendo gli altri e facendoli riapparire solo al click dell'utente sul nome del mese tramite scriptaculous (libreria già caricata nella pagina grazie a lightbox).
Per fare questo ho provato a realizzare una funzione JS:
Codice:
function HideBox() {
data = new Date();
m = "mese" + data.getMonth();
if(document) {
mb = document.getElementById('galleryindex').getElementsByTagName('div');
for(i=0;i<mb.length;i++) {
if((/monthbox/.test(mb[i].className)) && (mb[i].getAttribute("id") != m)) {
mb[i].style.display="none";
}
}
}
}
Sembra tutto in regola, tranne il fatto che non succede assolutamente nulla, i div rimangono li in bella evidenza.
Qualcuno sa aiutarmi ? Ho provato a cambiare in diversi modi le condizioni dell'if, escludendo ad esempio la seonda condizione o addirittura escludendo completamente l'if, non riesco a capire perchè non funzioni...
Vi prego illuminatemi!
Ultima modifica: