PDA

View Full Version : [javascript]visibilità div


$te
26-06-2008, 13:07
premetto che non conosco nulla di javascript, pero guardando un po in rete, volevo fare una semplice funzione per nascondere o mostrare un testo.
In pratica se clicco su "sport", mi deve visualizzare "gazzetta", se riclicco su "sport", me la deve nascondere

<STYLE TYPE="text/css">
.form1style {

visibility:Hidden;
}
</STYLE>

<script language="javascript">
<!--
function Nascondi(){

if(form1style.visibility =="hidden") form1style.visibility = "show";

if(form1style.visibility =="show") form1style.visibility = "hidden";

}


//-->
</script>

<body>
<!-- chiamata diretta a una funzione JavaScript-->
<A HREF="javascript:Nascondi();">sport</A><BR>

<BR><BR><BR>
<DIV class="form1style">gazzetta</DIV>


<A HREF="javascript:Nascondi();">altro</A><BR>

<BR><BR><BR>
<DIV class="form1style">niente</DIV>

dove sbaglio? grazie

Nous
26-06-2008, 13:57
form1style.visibility


Dovrebbe essere :

form1style.style.visibility

Ma poi..hai due div con lo stesso id, come fa a capire cosa deve nascondere?

$te
26-06-2008, 14:10
Dovrebbe essere :

form1style.style.visibility

Ma poi..hai due div con lo stesso id, come fa a capire cosa deve nascondere?

anche con form1style.style.visibility non funziona.

Ho provato cosi: <DIV id="1" class="form1style">gazzetta</DIV>

e poi nella funzione ho aggiunto un if:

function Nascondi(id2){

if(id==id2)
{
if(form1style.style.visibility =="hidden") {form1style.style.visibility = "show";}

if(form1style.style.visibility =="show") {form1style.style.visibility = "hidden";}
}
}

ma nn funziona cmq.

vladix
26-06-2008, 14:20
Ma poi..hai due div con lo stesso id,

non e l'id ... e il nome della classe di stile ...

prova con


<html>
<script language="javascript">

function Nascondi(){

if(document.getElementById('xd').style.visibility =="hidden"){
document.getElementById('xd').style.visibility = "visible";
}else{
document.getElementById('xd').style.visibility = "hidden";
}
}
</script>
<body>
<A HREF="javascript:Nascondi();">sport</A><BR>
<DIV style="visibility:hidden" id="xd">gazzetta</DIV>
</body>
</html>

$te
26-06-2008, 14:32
ok! pero serve anche l'id:

<html>
<script language="javascript">

function Nascondi(id){

if(document.getElementById(id).style.visibility =="hidden"){
document.getElementById(id).style.visibility = "visible";
}else{
document.getElementById(id).style.visibility = "hidden";
}
}
</script>
<body>
<A HREF="javascript:Nascondi('xd');">sport</A><BR>
<DIV style="visibility:hidden" id="xd">gazzetta</DIV>

<A HREF="javascript:Nascondi('xa');">aaa</A><BR>
<DIV style="visibility:hidden" id="xa">ffffta</DIV>
</body>
</html>

dite che posso dare alla funzione Nascondi() una variabile php, tipo $id?

grazie

$te
26-06-2008, 14:34
un altro problema:
io vorrei che la parte nascosta non occupi spazio: quindi se sotto sport ho una lista di 10 elemnti, non mi occupi nessuno spazio, se non quando ci clicco sopra

vladix
26-06-2008, 14:48
php e lato server mentre javascript e lato client ... quindi non puoi passare una variabile php alla funzione javascript

un altro problema:
io vorrei che la parte nascosta non occupi spazio: quindi se sotto sport ho una lista di 10 elemnti, non mi occupi nessuno spazio, se non quando ci clicco sopra

invece di style.visibility = "hidden"
usa
style.display = "none"; // x nascondere un elemento

style.display = "block"; // mostrare un elemento

Nous
26-06-2008, 15:01
un altro problema:
io vorrei che la parte nascosta non occupi spazio: quindi se sotto sport ho una lista di 10 elemnti, non mi occupi nessuno spazio, se non quando ci clicco sopra

Invece di style.visibility = "hidden" usa style.display = "none"

$te
26-06-2008, 15:47
php e lato server mentre javascript e lato client ... quindi non puoi passare una variabile php alla funzione javascript


quindi come potrei fare? dato che devo passare un id che cambia, la passo come variabile javascript? (ripeto che di javascript non conosco nulla:P)

grazie

vladix
26-06-2008, 16:07
se l'id cambia ogni volta che riaggiorni la pagina basterebbe fare

<A HREF="javascript:Nascondi();">sport</A><BR>

<BR><BR><BR>
<DIV class="form1style" id="<?php print($id1)?>">gazzetta</DIV>


<A HREF="javascript:Nascondi();">altro</A><BR>

<BR><BR><BR>
<DIV class="form1style" id="<?php print($id2)?>">niente</DIV>


nn ho capito bene se e questo che vuoi ... ( e nn sn un esperto di php :Prrr: )