Salve a tutti.
Sto costruendo una pagina con div a comparsa che vengono richiamati da una funzione javascript.
In questi div vorrei fare apparire il contenuto del sito, quindi in effetti ogni div rappresenta una diversa pagina e viene richiamato con 'onclick'. L'idea di base è creare una funzione che renda visibili i div nascosti.
La pagina resta sempre la stessa e div che vengono di volta in volta resi visibili rappresentano le diverse pagine, dando l'effetto di una pagina con frame.
Tra le varie opzioni che ho provato a utilizzare ho trovato online questa qui:
codice:
<script type="text/Javascript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible': (v=='hide')?'hidden':v; }
obj.visibility=v; }
}
La funzione MM_showHideLayers() viene richiamata con 'onclick' per ogni link.
Per ogni link indico i div che devono essere resi visibili con 'show' e al tempo stesso quelli che devo nascondere con 'hide'. Questo perché se apro il div che contiene la prima pagina devo essere certo che non si sovrapponga con il contenuto degli altri div, che devono restare nascosti.
Così facendo devo indicare per ogni link lo stato di tutti i div. Per una questione di semplicità vorrei poter indicare solo i div da visualizzare, lasciando sottinteso che tutti gli altri che non sono indicati devono restare nascosti.
Ho provato a seguire un'altra strada e a scrivere una funzione daccapo a partire da:
codice:
function popup () {
document.getElementById('prova1').style.visibility="visible";
}
a partire da una condizione in cui tutti i div sono nascosti. Ma così facendo, legando la funzione a 'onclick', chiaramente visualizzo solo il div#prova1.
Come posso fare per richiamare i differenti div# nascosti, uno alla volta e con la stessa funzione?
Spero di essere stato chiaro. Grazie a tutti.