Bonjour à tous,
Je n'arrive pas adapter le code html permettant de réaliser un menu déroulant (tuto) sur un site dynamique.
Voici un lien vers mon menu qui pose problème : http://s355837340.onlinehome.fr/
J'utilise comme teste seulement le premier lien du premier sous menu
(Expositions -> Sommes-nous tous de la même famille) les autres liens sont morts.
Le Menu est dans une page incluse 'menu.inc.php'
Le comportement du menu se trouve dans la page qui contient l'include
J'ai suivi le tuto, mon menu prend la forme suivante (J’essaie d'annoncer via l'URL le SubMenu à afficher déployé en indiquant son id dans la rédaction des href du menu :
a href="Expo_Famille.php?menu=open1") :
La page qui contient le 'menu.inc.php',s'appelle Expo_famille.php J'ai ajouté au js de fonctionnement du menu, la seconde ligne de ce qui suit -en gras- de façon à indiquer quel sous-menu devait avoir la class open-at-load :
Le corps de cette page Expo_famille.php est rédigé comme ceci :
Si j’indique via l'URL dans l'appel du menu include('menu.inc.php?menu='.$_GET['menu']) J'ai un message d'erreur du serveur...
Est ce que quelqu'un saurait/pourrait m'aider ? Cela fait bientôt 2 mois que je m'arrache les cheveux là dessus et je suis bientôt chauve...
Modifié par Benkusz (07 Dec 2011 - 09:04)
Je n'arrive pas adapter le code html permettant de réaliser un menu déroulant (tuto) sur un site dynamique.
Voici un lien vers mon menu qui pose problème : http://s355837340.onlinehome.fr/
J'utilise comme teste seulement le premier lien du premier sous menu
(Expositions -> Sommes-nous tous de la même famille) les autres liens sont morts.
Le Menu est dans une page incluse 'menu.inc.php'
Le comportement du menu se trouve dans la page qui contient l'include
J'ai suivi le tuto, mon menu prend la forme suivante (J’essaie d'annoncer via l'URL le SubMenu à afficher déployé en indiquant son id dans la rédaction des href du menu :
a href="Expo_Famille.php?menu=open1") :
<div id="menu">
<ul class="navigation">
<li class="toggleSubMenu"><span>Expositions</span>
<ul id="open1" class="subMenu" >
[b] <li ><a href="Expo_Famille.php?menu=open1" title="Aller à la page Sommes-nous tous de la meme famille">Sommes-nous tous de la même famille ?</a></li>[/b]
<li><a href="Expo_Montcuq.php" title="Aller à la page Montcuq au Moyen-Âge">Montcuq au Moyen-Âge</a></li>
<li><a href="Expo_TechniConstructives.php" title="Aller à la page Techniques constructives, énergies et savoirs-faire">Techniques constructives, énergies et savoirs-faire</a></li>
<li><a href="Expo_GeoLoT.php" title="Aller à la page Exposition GéoL'oT">GéoL'oT</a></li>
</ul>
</li>
<li class="toggleSubMenu"><span>Outils éducatifs</span>
<ul id="open2" class="subMenu">
<li><a href="Peda_TableManip.php" title="Aller à la page Tables de manipulations">Tables de manipulation</a></li>
<li><a href="Peda_MalleClassi.php" title="Aller à la page Nouvelle classification des animaux">Malle pédagogique</a></li>
<li><a href="Peda_RandoTmps.php" title="Aller à la page Randonnée des temps géologiques">Randonnée des temps</a></li>
<li><a href="Peda_PosterGeol.php" title="Aller à la page Poster Géologique">Poster GéoL'oT</a></li>
</ul>
</li>
</ul>
</div>
La page qui contient le 'menu.inc.php',s'appelle Expo_famille.php J'ai ajouté au js de fonctionnement du menu, la seconde ligne de ce qui suit -en gras- de façon à indiquer quel sous-menu devait avoir la class open-at-load :
<script type="text/javascript">
<!--
$(document).ready( function () {
// On cache les sous-menus
// sauf celui qui porte la classe "open_at_load" :
[b] $("#menu #<?php echo $_GET['menu']; ?>").addClass('open-at-load');[/b]
$(".navigation ul.subMenu.not('.open_at_load')").hide();
// On sélectionne tous les items de liste portant la classe "toggleSubMenu"
// et on remplace l'élément span qu'ils contiennent par un lien :
$(".navigation li.toggleSubMenu span").each( function () {
// On stocke le contenu du span :
var TexteSpan = $(this).text();
$(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>') ;
} ) ;
// On modifie l'évènement "click" sur les liens dans les items de liste
// qui portent la classe "toggleSubMenu" :
$(".navigation li.toggleSubMenu > a").click( function () {
// Si le sous-menu était déjà ouvert, on le referme :
if ($(this).next("ul.subMenu:visible").length != 0) {
$(this).next("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } );
}
// Si le sous-menu est caché, on ferme les autres et on l'affiche :
else {
$(".navigation ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") });
$(this).next("ul.subMenu").slideDown("normal", function () { $(this).parent().addClass("open") } );
}
// On empêche le navigateur de suivre le lien :
return false;
});
} ) ;
// -->
</script>
Le corps de cette page Expo_famille.php est rédigé comme ceci :
<body>
<?php include('header.inc.php'); ?>
<div id="content">
<div id="mainContent">
<div class="clearboth"></div>
<?php include('menu.inc.php'); ?>
<div id="boitePresentation">
<div id="galerie">
<div class="diapo">
<h4>Ici l'onlet "Exposition" devrait être déroulé... <a href="Index.php"></br></br></br></br></br></br></br></br>Retour à la page précedante</a></h4>
</div>
</div>
</div>
<div class="clearboth"></div>
</div>
</div>
<?php include('footer.inc.php'); ?>
</body>
Si j’indique via l'URL dans l'appel du menu include('menu.inc.php?menu='.$_GET['menu']) J'ai un message d'erreur du serveur...
Est ce que quelqu'un saurait/pourrait m'aider ? Cela fait bientôt 2 mois que je m'arrache les cheveux là dessus et je suis bientôt chauve...

Modifié par Benkusz (07 Dec 2011 - 09:04)