<td> caché

Eléphant du PHP | 90 Messages

19 mars 2006, 10:52

bon voila je m'y connais pas du tout en javascript et j'ai besoin d'un coup de main

<table ><tr><td>
<a href="#a" onClick="aff_cach('classe')"><li>classes</li></a><br>
</td></tr>
<tr><td id="classe" valign="top" align="left" >
<ul>
<li>Guerrier</li>
<br><dd><i>???</i></dd><br>
<li>Voleur</li>
<br><dd><i>???</i></dd><br>
<li>Marchand</li>
<br><dd><i>???</i></dd><br>
<li>Magicien</li>
<br><dd><i>???</i></dd><br>
</ul>
</td></tr></table>

code javascript

<script language='javascript'>
var text_div_ac= new Array;
function aff_cach(id_place) {
if (text_div_ac[id_place]) {
remplace(text_div_ac[id_place],id_place);
text_div_ac[id_place]='';
}
else {
text_div_ac[id_place]=document.getElementById(id_place).innerHTML;
remplace('',id_place);
}
}
function aff_cach(id_place) {
if (text_div_ac[id_place]) {
remplace(text_div_ac[id_place],id_place);
text_div_ac[id_place]='';
}
else {
text_div_ac[id_place]=document.getElementById(id_place).innerHTML;
remplace('',id_place);
}
}

//fonction qui remplace le texte d\'un element
function remplace(texte,id_place){
document.getElementById(id_place).innerHTML=texte;
}

</script>

voila ce code fait que si je lance la page ça affiche tout et si je clic sur le lien ça cache le <td id="classe" valign="top" align="left" >
mais moi je voudrais que ça fasse l'inverse que ça lance le script ou <td id="classe" valign="top" align="left" > est déja caché et que si je clic ça l'affiche

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 mars 2006, 13:37

Salut,

Je ne vois absolument pas comment cette fonction puisse cacher quoi que ce soit, elle ne peut toucher qu'au contenu de la cellule.

Proposition:
<table>
<tr>
	<td>
		<a href="#" onClick="aff_cach('classe')"><li>classes</li></a><br>
	</td>
</tr>
<tr>
	<td id="classe" valign="top" align="left" style="display: none">
		<ul>
			<li>Guerrier</li>
			<br><dd><i>???</i></dd><br>
			<li>Voleur</li>
			<br><dd><i>???</i></dd><br>
			<li>Marchand</li>
			<br><dd><i>???</i></dd><br>
			<li>Magicien</li>
			<br><dd><i>???</i></dd><br>
		</ul>
	</td>
</tr></table>
Fonction JS
function aff_cach(id_place)
{
var td = document.getElementById(id_place);

if (td.style.display == 'none' )	
	td.style.display = 'block'; // afficher
else	
	td.style.display = 'none'; // cacher 
}

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 90 Messages

19 mars 2006, 13:55

ça bug a mort

regarde mon script est dessus
xxxx.php
mais moi je voudrait qu'au début il n'y a que les lien qui s'affiche au début et que quand on clc dessus les truc apparaissent
Modifié en dernier par marvllt le 19 mars 2006, 14:47, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 mars 2006, 14:02

ce qui est important pour cacher au chargement c'est ça:
style="display: none"
Je ne le vois pas dans le code source, de même la fonction JS. A la place tu as 2 fonction aui portent le même nom. Et pour finir une mauvaise contruction des appel JS:
onClick="aff_cach('"lampadaire"')"
Le code source en apprend beaucoup sur une page :!:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 90 Messages

19 mars 2006, 14:26

ok mais on fait commen pr que sa apparaisse en cliquant dessus

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 mars 2006, 14:50

avec la fonction JS (javascript) que je t'ai proposé :wink:

lorsque tu clique sur un lien l'événement "onclick" est utilisé qui fait appel à la fonction.

Pour chaque appel le paramètre de la fonction doit être différent.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 90 Messages

19 mars 2006, 15:42

ok merci