Salve, capisco qualcosa di html, poco di php e nulla di JavaScript.
Ciò nonostante ho scaricato uno script per un menù ad albero.
Questo lo script che inserisco tra i tag head della pagina.
</style>
<script language="JavaScript1.2">
<!--
var head="display:''"
img1=new Image()
img1.src="img/fold.gif"
img2=new Image()
img2.src="img/open.gif"
var ns6=document.getElementById&&!document.all
var ie4=document.all&&navigator.userAgent.indexOf("Ope ra")==-1
function checkcontained(e){
var iscontained=0
cur=ns6? e.target : event.srcElement
i=0
if (cur.id=="foldheader")
iscontained=1
else
while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){
if (cur.id=="foldheader"||cur.id=="foldinglist"){
iscontained=(cur.id=="foldheader")? 1 : 0
break
}
cur=ns6? cur.parentNode : cur.parentElement
}
if (iscontained){
var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("UL")[0]
if (foldercontent.style.display=="none"){
foldercontent.style.display=""
cur.style.listStyleImage="url(img/open.gif)"
}
else{
foldercontent.style.display="none"
cur.style.listStyleImage="url(img/fold.gif)"
}
}
}
if (ie4||ns6)
document.onclick=checkcontained
//-->
</script>
Il menu lo faccio in un file che poi richiamo nelle pagine dove deve comparire con
un include di php:
<ul>
<ul>
<li id="foldheader" class="titolo16nero" title="Gli aforismi che mi piacciono, talvolta commentati">AFORISMI
<ul id="foldinglist" style="display:none" style=&{head};>[*]il mio aforisma [*]prova[/list]
<li id="foldheader" class="titolo16nero" title="le foto più belle, ma anche quelle più stravaganti...">GALLERIE FOTOGRAFICHE
<ul id="foldinglist" style="display:none" style=&{head};>
<li >prova[*]prova
<li id="foldheader" class="titolinonero" title="in questa cartella tante piccanti foto">Foto piccanti
<ul id="foldinglist" style="display:none" style=&{head};>
[*]nuda a vicenza
<li >il mio primo bacio [/list]
[*]prova[*]prova[*]prova[/list][/list]
<ul>
<li id="foldheader" class="titolo16nero" title="pagine utili quali le previsioni del tempo e molto altro">UTILITA' VARIE
<ul id="foldinglist" style="display:none" style=&{head};>[*]previsioni del tempo[*]orario treni[/list][/list]
<script language="JavaScript1.2">
<!--
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(off set, end))
}
}
return returnvalue;
}
var foldercontentarray=new Array()
var c=0
if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length; i++){
if (document.getElementsByTagName("UL")[i].id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")[i]
c++
}
}
}
if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).s plit(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults[i]].style.display=''
foldercontentarray[openresults[i]].previousSibling.previousSibling.style.listStyleIm age="url(img/open.gif)"
}
else{
foldinglist[openresults[i]].style.display=''
document.all[foldinglist[openresults[i]].sourceIndex -1].style.listStyleImage="url(img/open.gif)"
}
}
}
if (ns6||ie4){
var nodelength=ns6? c-1 : foldinglist.length-1
var nodes=new Array(nodelength)
var openones=''
}
function checkit(){
for (i=0 ; i <= nodelength ; i++){
if ((ns6&&foldercontentarray[i].style.display=='')||(ie4&&foldinglist[i].style.display==''))
openones=openones + " " + i
}
document.cookie=window.location.pathname+"="+openo nes
}
if (ns6||ie4)
window.onunload=checkit
//-->
</script>
Come avrete visto, in coda al menu vero e proprio c'è uno script che, utilizzando i cookie, fa si che il menù resti aperto anche quando avviene la ricarica della pagina web.
Solo che non funziona quando si passa a una nuova pagina.
Non si può fare in modo che il menù ad albero resti aperto anche quando si apre una nuova pagina?
Grazie