Ciao
Forse il problema è stato già affrontato ma non sono riuscito ancora a risolverlo quindi mi spiego per cercare altre risposte al mio problema.
Nel titolo ho cercato di sintetizzare il problema ma il vero dilemma è la chiusura, in realtà riesco benissimo a crearlo.
In pratica tramite una funzioncina in javascript creo la "finestra":
codice:function popup(fotoID) { var win = document.createElement('div'), f = document.getElementById(fotoID), b = document.getElementById('top'), html = '<h3>' + f.alt + '</h3><p><img src="' + f.src + '" alt="' + f.alt + '" /></p><p><a href="#" onclick="chiudi('fotografia')">Chiudi finestra!</a></p>'; win.setAttribute('id', 'fotografia'); win.setAttribute('class', 'photo'); /* Ok! semplicemente le da una dimensione e la mette a centro della pagina */ win.innerHTML = html; b.appendChild(win); };La funzione viene richiamata facendo click su una thumbnail in una pagina con tante foto, quando fai click apre la "popup" con la foto ingrandita, sopra il nome della foto e sotto la foto, in fondo un link per la sua chiusura, il tutto viene appeso all'elemento body nella pagina.codice HTML:..... <li><a href="#img1" onclick="popup('img1')"><img src="immagini/immagine.jpg" alt="immagine" id="img1" /></a></li> .....
E fino a qui tutto funge a meraviglia!
Il problema avviene alla chiusura.
Nel listato di cui sopra, si vede il richiamo ad un evento onclick che a sua volta richiama una funzione chiamata chiudi(id), la funzione funzionaiterando tutti gli elementi creati all'interno del box aperto nella pagina ma lasciando quest'ultimo ancora aperto.
Ho provato a mettere in ... onclick="chiudi('fotografia'); b.removeChild(win);">... ma mi dice che win è nullo!
E non risco a trovare la soluzione per rimuovere quel maledetto div creato.![]()


iterando tutti gli elementi creati all'interno del box aperto nella pagina ma lasciando quest'ultimo ancora aperto.
Rispondi quotando
