ci sto perdendo la testa.
ho creato uno script per rimpicciolire dinamicamente tramite js un blocco div.
inizialmente ho un blocco div creato in html+css;
in pratica cliccando su un link lo script sostituisce questo blocco div con un altro creato dinamicamente. cliccando su un secondo link lo script sostituisce il secondo blocco (quello creato dinamicamente) con il clone(precedentemente creato) del blocco div originale.
lo script funziona perfettamente le prime due volte; la terza funziona male; la quarta da errore.
codice html+css
Codice PHP:
...
<link href="stili.css" type="text/css" rel="stylesheet" title="css_default" />
<script src="js/navigazione.js" type="text/javascript"></script>
</head>
<body onload="creaClone();">
<div id="navigazione">
<span id="testoSpan">Visita Virtuale</span>
[url="index.htm"][la nascita, le radici, il retaggio][/url] ,
[url="pagina2.htm"]il ruolo delle carte povere[/url] ,
[url="pagina3.htm"]per la memoria, una nuova tecnica[/url] ,
[url="pagina4.htm"]il museo[/url] ,
[url="pagina5.htm"]galleria fotografica[/url] ,
[url="pagina6.htm"]dove siamo[/url] ,
[url=""]contatti[/url]
<div id="maniglia">[url="#"]Chiudi navigazione[img]img/chiudi.gif[/img][/url]</div>
</div>
...
codice js
Codice PHP:
var clone=null;
function creaClone()
{
if (clone==null)
{
var elemento=document.getElementById("navigazione");
clone=elemento.cloneNode(true);
}
}
function chiudi()
{
var padre=document.body;
var navigazione=document.getElementById("navigazione");
var span=document.getElementById("testoSpan");
var immagine=document.getElementById("maniglia").firstChild.firstChild.nextSibling;
padre.removeChild(navigazione);
var figlio=padre.firstChild;
var nuovoElementoDiv=document.createElement("div");
nuovoElementoDiv.setAttribute("id","navigazione");
var nuovoElementoLink=document.createElement("a");
nuovoElementoLink.setAttribute("href","#");
nuovoElementoLink.setAttribute("title","Apri la barra di navigazione");
nuovoElementoLink.setAttribute("onclick","apri();");
var testo=document.createTextNode("Apri navigazione");
nuovoElementoLink.appendChild(testo);
immagine.setAttribute("src","img/apri.gif");
immagine.setAttribute("title","Apri la barra di navigazione");
immagine.setAttribute("alt","Apri la barra di navigazione");
immagine.style.border="0px";
nuovoElementoLink.appendChild(immagine);
nuovoElementoDiv.appendChild(span);
nuovoElementoDiv.appendChild(nuovoElementoLink);
nuovoElementoDiv.style.width="140px";
padre.insertBefore(nuovoElementoDiv,figlio);
}
function apri()
{
var padre=document.getElementById("navigazione");
document.body.removeChild(padre);
document.body.appendChild(clone);
}
grazie mille per gli eventuali suggerimenti.