Une question un peu costaud mais, je le crois, intéressante...
J'ai une page qui peut se diviser en 3 parties (de haut en bas) :
- entête
- partie centrale
- pied
La partie entête contient 4 liens destinés à commander l'affichage alternatif de <div> que j'ai baptisés "volets".
La partie centrale est l'emplacement où doit s'afficher le volet activé (les 3 autres étant alors désactivés = invisibles).
Le pied de page s'affiche tout en bas. Vous voyez, c'est tout simple.
Règles de fonctionnement :
- Un seul volet peut s'afficher à la fois (1 activé => 3 désactivés).
- Les volets s'affichent tous au même emplacement (à tour de rôle) => top:0px et left:0px
- Les volets sont de hauteur variable (non connue).
- Le pied de page doit s'afficher juste au cul du volet affiché au-dessus, quellle que soit sa hauteur.
Actuellement (avec le code ci-dessous) :
- tous les onglets sont affichés, superposés les uns sur les autres.
- l'appel de la fonction afficheVolet() ne marche pas (j'ai essayé plusieurs syntaxes, sans grand succès)
- le pied de page vient se coller au bas de l'entête et les 4 volets, tous affichés, se superposent sur le pied (et donc sortent du cadre de la page. Bâââh...)
.conteneurAlternatif { position:absolute; display:block; width:auto; margin-left:0px; /* margin-left:auto; */ margin-right:0px; /* margin-right:auto; */ margin-top:25px; margin-bottom:0px; top:0px; left:0px; }
<script type="text/javascript"> function afficheVolet(indice) // Affichage alterné des volets { for (i=1 ; i<5 ; i++) { var volet = document.getElementById('volet'+indice); volet.style.visibility = (i==indice ? "visible" : "hidden"); } } </script>
À force de tripatouiller mon code dans tous les sens, je commence à ne plus y voir très clair.// ... <a href='javascript:afficheVolet(1);'><div class='languetteOn' onClick='afficheVolet(1);return false;'>Volet1</div></a> <a href='javascript:afficheVolet(2);'><div class='languetteOn' onClick='afficheVolet(2);return false;'>Volet2</div></a> <a href='#'><div class='languetteOn' onClick='afficheVolet(3);return false;'>Volet3</div></a> <div class='languetteOn' onClick='afficheVolet(4);return false;'><a href='#'>Volet4</div></a> // ... <table style="width:730px;padding:0px;"> <tr><td> <div style="z-index:1;position:relative;top:0px;left:0px"> <div id="onglet1" class="conteneurAlternatif" style="z-index:1;border:1px solid #00FF00;"> <p>Blablabla</p> </div> <div id="onglet2" class="conteneurAlternatif" style="z-index:1;border:1px solid #0000FF;"> <p>Blebleble</p> </div> <div id="onglet3" class="conteneurAlternatif" style="z-index:1;border:1px solid #FF8000;"> <p>Bliblibli</p> </div> <div id="onglet4" class="conteneurAlternatif" style="z-index:1;border:1px solid #FF0000;"> <p>Blobloblo</p> </div> </div> </td></tr> </table> // ...
Aussi, j'en appelle à votre regard tout neuf et à vos neurones certainement beaucoup plus frais...
D'avance, big merci !