- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- testo a comparsa
-
fare invece una funzione js che richiamo sul body con onload che mi richiama la funzione per mostrare il div
anche perchè credo che poi non si setti la variabile che ti permette di nascondere il div mostrato nei link successivi
-
Non ti ho suggerito quello perché quando costruisci il <body> della pagina ancora non conosci il nome del div (ma lo conosci solo dopo che cicli sugli elementi)
Il codice che ti ho postato (quello da mettere a fine pagina) serve a posta per inizializzare la variabile e mantenera il funzionamento del codice.
Se percaso già all'altezza del tag <body> conosci il nome del div ti basta mettere nell'onload "mostraNascondi('nomeDelDiv');"
ma io spesso ho avuto problemi con l'evento onload (a volte mi scatta prima che la pagina sia stata costruita interamente e quindi javascript non và).
Semmai fai un tentativo.
-
come pensavo con l'IF nel ciclo non setta la variabile vecchio div e di conseguenza gli altri div si sovrappongo, il primo div nonn scompare mai
-
@SeraphimFoA said:
e alla fine della pagina html (ma prima del tag di chiusura) metti
<script type="text/javascript">
vecchioDiv = document.getElementById('<%=sPrimoDiv%>');
</script>ovviamente riadattando la sintassi alla tecnologia ed al linguaggio che stai utilizzando.
Questa riga di codice serve proprio a settare vecchioDiv... se l'hai già messa controlla che abbia valorizzato bene la stringa sPrimoDiv
( metti un paio di alert nelle righe successive a quella:<script type="text/javascript"> vecchioDiv = document.getElementById('<%=sPrimoDiv%>'); alert(vecchioDiv); alert('<%=sPrimoDiv%>); </script>
e controlla che il primo alert ti dica [object] ed il secondo ti dia il nome del primo div
-
si ma se il ciclo si trova all'interno di una pagina lo script alla fine si setterà con l'ultimo div
-
Non se la variabile sPrimoDiv la valorizzi all'interno dell If che usi per far comparire solo il primo
if (indiceDelCiclo = 1)
sPrimoDiv = "nomeDelDiv"
div display:blockend if
-
Ok così funziona, volendo utilizzare la stessa funzione per far apparire un div con posizionamento assoluto:
.popup {
position: absolute;
display: none;
width: 400px;
height: 300px;
top:300px;
left:50px;
background-color: #FFFFFF;
border: 1px solid #C10818;
padding: 10px;
z-index:3;
}
-
devo dire che questo menù funziona veramente bene però mi sono imbattuto in un problema non da poco ovvero come posso impostare una variabile che mi riporta il menù con il div visualizzato della pagina precedente quando apro una nuova pagina???xxx
-
@makeart said:
devo dire che questo menù funziona veramente bene però mi sono imbattuto in un problema non da poco ovvero come posso impostare una variabile che mi riporta il menù con il div visualizzato della pagina precedente quando apro una nuova pagina???xxx
Via js questo è impossibile. Puoi farlo solo lato server (almeno se vuoi farlo in modo decente).
Per un motivo molto semplice. Il javascript, essendo lato client, si resetta nel caso in cui ricarichi o cambi pagina. Tutte le variabili settate in precedenza scompaiono e ritorna tutto nello stato originario.
Ciao
-
ok, ho inserito nel tag body onload="javascript:mostraNascondi($div)"
e valorizzando questa variabile mi reimposta il div giusto adesso però come faccio a valorizzarla attraverso la funzione stessa che mi visualizza il div