Uela'!
Apparte che non capisco perché se esiste un "this" non esiste qualcosa tipo "others" o almeno "!this"...
Non capisco granché di giavascritt (= "non ne so proprio una mazza"); conosco un pochino-ino-ino-ino[...]ino di PHP e lì mi fermo.
Per il resto disegno pupazzi e *faccio il grafico*.
Arriviamo al punto.
Dopo interminabili ricerche sul forum, letture dai contenuti incomprensibili, studî ripetuti delle guide sul sito, ho deciso di farmi da solo uno script che non riuscivo a trovare altrove.
Eccoloqquà:
Codice PHP:
var titoli = new array ('titolo_01', 'titolo_02', 'titolo_03');
var subMenu = new array('subCont_01', 'subCont_02', 'subCont_03');
function shideSet(obj, class1, class2) {
var obj = document.getElementById(obj);
for (a=1; a<=3; a++) {
if (obj==titoli[a]) {
obj.className='class2';
document.getElementById(subMenu[a]).style.display = (document.getElementById(subMenu[a]).style.display=='block') ? 'none' : 'block';
}
else {
obj.className='class1';
subMenu[a].style.display = 'none';
}
}
}
Che è una cosa che secondo me dovrebbe funzionare e invece non funzia (mavà?).
Vi spiego cosa vorrei che succedesse, anche se mi sa che l'avete già capito;
in pratica è una variante dei soliti "menu", con qualche complicazione in più.
(O in meno; a seconda di qual è la soluzione, suppongo)..
:::mmm:::
Mi sa che se posto un HTML semplificato facciamo tutti prima, va'....
codice:
<html>
<head><title>PROVE JAVASCRIPT</title>
<script language="javascript" type="text/javascript">
/*== [Qua ci va lo script dicuisopra] ==*/
</script>
<style type="text/css">
a {text-decoration:none; font:bold 16px "Trebuchet MS", Verdana, sans-serif; color:white;}
a:focus {outline:0}
#titolo_01, #titolo_02, #titolo_03, #titolo_01 a, #titolo_02 a, #titolo_03 a {
float:left;
height:auto;
width:100px;
display:block;
background-color:blue;}
#titolo_01 a:hover, #titolo_02 a:hover, #titolo_03 a:hover {
background-color:yellow;
display:block;
color:black;}
#titolo_01 a:focus, #titolo_02 a:focus, #titolo_03 a:focus {
background-color:black;
display:block;
color:white;}
.act1, .act2, .act3, .act1 a, .act2 a, .act3 a{
float:left;
height:auto;
width:100px;
display:block;
background-color:green;
}
#subCont_01, #subCont_02, #subCont_03 {
float:left;
height:30px;
width:100px;
overflow:hidden;
display:none;
background-color:red;}
</style>
</head>
<body>
<div id="titolo_01" class="titolo1">CONT_01
<div id="subCont_01">Prova 1</div>
</div>
<div id="titolo_02" class="titolo2">CONT_02
<div id="subCont_02">Prova 2</div>
</div>
<div id="titolo_03" class="titolo3"> CONT_03
<div id="subCont_03">Prova 3</div>
</div>
</body>
</html>
Nel caso non si fosse ancora capito, ci sono tre DIV "titolo" - visibili - i quali ne contengono a loro volta un altro - invisibile - che dovrebbe "saltare fuori" quando "onclicco" sul titolo.
E naturalmente quando clicco su un altro titolo dovrebbe scomparire il contenuto degli altri, nonché ripristinarsi lo stato inziale delle rispettive classi, in modo che l'unico titolo evidenziato sia sempre e solo quello con il contenuto visibile.
Nonsossemmisonocapìto....
(Io, micatanto... spero che voi ve la caviate meglio ;-)p
'Nzomma... A 'sto punto io sono completamente lesso e non so se ho toppato più sul JS o sui CSS o su entrambi.
La domanda sarebbe "Com'è che il mio script non funzia?", ma se avete altre soluzioni (comprensibili)(da ME!) va bene lostess...
TIA ;-)
cià
ale