puoi fare in tanti modi,
c' è l' approccio "naturale" nel senso che usi una sola funzione x mostrare e nascondere basandoti sulla visibilità (o display che sia) dell' elemento in questione (e devi indicarla nello stile dell' elemento, meglio se in linea)
x es.
codice:
<script>
function mostra_nascondi(liv){
document.getElementById(liv).style.visibility=(document.getElementById(liv).style.visibility=='visible')?'hidden':'visible'
}
</script>
<div id="box" style="visible">box</div>
mostra/nascondi box
oppure con variabili globali che tengano traccia della visibilità al momento dell' elemento, chiaramente ne serve una x elemento (e se diventano tante è comodo usare un array)
x es.
codice:
<script>
var vis_box0=true
function mostra_nascondi(liv){
document.getElementById(liv).style.visibility=(window['vis_'+liv])?'hidden':'visible';
window['vis_'+liv]=!window['vis_'+liv]
}
</script>
<div id="box0">box</div>
mostra/nascondi box
(x me non è il massimo, ma) se vuoi mantenere 2 funzioni distinte puoi fartene una terza che in base alla visibilità dell' elemento o alla variabile globale richiami a sua volta mostra() o nascondi()
es. basandosi sulla visibilità
codice:
<script>
function mostra_nascondi(liv){
if(document.getElementById(liv).style.visibility=='visible') nascondi(liv);
else mostra(liv);
}
function mostra(liv){
document.getElementById(liv).style.visibility='visible'
}
function nascondi(liv){
document.getElementById(liv).style.visibility='hidden'
}
</script>
<div id="box0" style="visibility:visible">box</div>
mostra/nascondi box
es. basandosi sulla var globale
codice:
<script>
var vis_box0=true
function mostra_nascondi(liv){
if(window['vis_'+liv]) nascondi(liv);
else mostra(liv);
window['vis_'+liv]=!window['vis_'+liv]
}
function mostra(liv){
document.getElementById(liv).style.visibility='visible'
}
function nascondi(liv){
document.getElementById(liv).style.visibility='hidden'
}
</script>
<div id="box0">box</div>
mostra/nascondi box
ciao