Scusa, c'hai ragione...
Il codice Javascript è questo:
codice:
<script type="text/javascript">
function mostranascondi() {
var A =document.getElementById('divmn');
var B =document.getElementById('divmn1');
if (A.style.display == 'none' && B.style.display == 'none') {
A.style.display = '';}
else {A.style.display = 'none';}}
function mostranascondi1() {
var A =document.getElementById('divmn');
var B =document.getElementById('divmn1');
if (B.style.display == 'none' && A.style.display == '') {
A.style.display = 'none'; B.style.display = '';}
else {B.style.display = 'none'; A.style.display = '';}}
function mostranascondi2() {
var A =document.getElementById('divmn');
var B =document.getElementById('divmn1');
if (B.style.display == '' && A.style.display == 'none') {
A.style.display = ''; B.style.display = 'none';}
else {B.style.display = ''; A.style.display = 'none';}}
</script>
Questa è l'immagine principale, se cliccata, fa apparire il primo div (divmn):
codice:
[img]Photography.png[/img]
Questo è il primo div (divmn). Appare se viene cliccata l'immagine principale e scompare allo stesso modo:
codice:
<div id="divmn" style="display: none;">
<div align="center">
[img]4.jpg[/img]
[img]2.jpg[/img]
[img]3.jpg[/img]
</div>
[img]arrow-right.png[/img]
</div>
Questo div è il secondo (divmn1). Appare se viene cliccata l'immagine "arrow-right.png" che si trova nel primo div e scompare se viene cliccata l'immagine "arrow-left.png" contenuto nel secondo div (divmn1). Ovviamente se appare il secondo div, prima scompare il primo div, allo stesso modo al contrario. Scompare il secondo div e appare il primo:
codice:
<div id="divmn1" style="display: none;">
<div align="center">
[img]1.jpg[/img]
[img]5.jpg[/img]
[img]6.jpg[/img]
</div>
[img]arrow-left.png[/img]
</div>
Così com'è il codice funziona perfettamente. In tutte e tre le funzioni (mostranascondi, mostranascondi1, mostranascondi2) vengono usate due variabili identiche (var A =document.getElementById('divmn') var B =document.getElementById('divmn1')) che servono a controllare lo stato dei due div. Visto che sono ripetute, ho pensato di semplificare mettendone solo due tipo così (ho tolto "var", perchè se ho letto bene, si rende la variabile globale):
codice:
<script type="text/javascript">
A =document.getElementById('divmn');
B =document.getElementById('divmn1');
function mostranascondi() {
if (A.style.display == 'none' && B.style.display == 'none') {
A.style.display = '';}
else {A.style.display = 'none';}}
function mostranascondi1() {
if (B.style.display == 'none' && A.style.display == '') {
A.style.display = 'none'; B.style.display = '';}
else {B.style.display = 'none'; A.style.display = '';}}
function mostranascondi2() {
if (B.style.display == '' && A.style.display == 'none') {
A.style.display = ''; B.style.display = 'none';}
else {B.style.display = ''; A.style.display = 'none';}}
</script>
Però così non funziona. Con un programma per i linguaggi html javascript e css (HTML-KIT) mi dice che gli if necessitano di oggetto, perchè non ne hanno. Questo significa che le variabili non vengono considerate (ovviamente l'ho testato sia su google crom sia su internet explorer, ma non funziona). Come faccio?