Bonjour,
J'ai un petit problème que je n'arrive pas à gérer, je préviens, je m'estime débutante.
(je ne suis pas sûre d'être dans la bonne sous-catégorie)
J'ai créé un menu "en accordéon" (liste + fonction javascript showhide(id)) et je voudrais que les utilisateurs cliquent sur une image pour voir/masquer les sous-menus, et que cette image change à chaque fois (une image "+" pour dérouler, une image "-" pour masquer).
J'ai tout d'abord essayer avec une fonction javascript, mais si j'ai bien compris, ça ne marchera jamais puisque j'appelle du php... je crois...
Quoi qu'il en soit, je n'arrive pas à appeller la fonction javascript affimage.
Voici mon script showhide :
Code :
- <script type="text/javascript">
- function showhide(id) {
- var elmt = document.getElementById(id);
- if (elmt) {
- if(elmt.style.display=='block'){
- elmt.style.display='none';
- }
- else{
- elmt.style.display='block';
- }
- }
- }
- </script>
|
Mon script affimage :
Code :
- <script type="text/javascript"><!--
- function affimage(id) {
- var elmt = document.getElementById(id);
- var chaine ='';
- if elmt.style.display='block' {
- chaine = '<img src="imagesdeco/bouton-suivant.gif">';
- } else {
- chaine = '<img src="imagesdeco/boutsuit.gif">';
- }
- return chaine;
- }
- --></script>
|
Et la ligne ou j'appelle tout ça :
Code :
- <li><span><?php echo $catlien; ?><span onClick="javascript:showhide('<?php echo $i; ?>');">
- javascript:affimage($i)
- </span></span>
|
J'aurai voulu faire ce genre de chose, mais quelle condition dois-je utiliser??
Code :
- <li><span><?php echo $catlien; ?><span onClick="javascript:showhide('<?php echo $i; ?>');">
- <?php if ... afficher image1 else afficher image2 ?>
- </span></span>
|
J'ai beaucoup détaillé car je ne sais pas si c'est une bonne solution, si non, donnez moi d'autres pistes svp!
Message édité par berilia le 15-05-2009 à 12:28:18