Bonjour,

j'utilise le menu déroulent verticale suivant :http://css.alsacreations.com/modelesmenus/vd1.htm, mais je n'arrive pas à laisser le menu ouvert pendant la navigation avec les sous menus.

En fait avoir le même système que sur ce site : http://www.carolineperrin.fr/, lorsque qu'on est dans 'Création' et que l'on clic sur 'galerie photos', Création ne se referme pas.

Voila, si quelqu'un peut m'aider/m'orienter.
Merci
Modifié par veskario (10 Aug 2006 - 18:17)
Je ne suis pas vraiment sûr, mais je pense que ça vient du code JS qui au chargement de la page affiche ou non un sous menu.

Donc il faudrait certainement que dans la page du sousmenu, tu indiques au code javascript quel sous menu doit rester ouvert.

Ce n'est que pure supposition après une analyse rapide du tuto.
ok, je pensais bien que ca venait du JS.

par contre je suis nul en JS, est ce que tu aurais un lien quelconque ou une piste pour m'orienter, stp ?

merci
veskario a écrit :
ok, je pensais bien que ca venait du JS.

par contre je suis nul en JS, est ce que tu aurais un lien quelconque ou une piste pour m'orienter, stp ?

merci


J'ai pas vraiment de lien sous la main.. mais bon ça doit pas être très compliqué.

Il suffit à mon avis que tu copies la fonction permettant d'ouvrir les sous menus dans chaque page des sous menus.
Et que dans chaque page tu executes la fonction permettant de garder le bon sous menu ouvert.

Par exemple si tu clic sur "Sous-Menu 2.1" ça te renvoie sur la page sousmenu21.html, dans ce fichier tu rajoutes la fonction javascript (ou tu fais un fichier externe .js que tu intégères par une ligne de code SCRIPT SRC=xxxx.js"></SCRIPT>) puis tu mets un évènement dans le body de cette page html ça pourrait donner ça.

<body onLoad="javascript:montre('smenu2')";>

Je ne suis pas un pro du javascript, mais je pense que ça fonctionne correctement. Ainsi au chargement de la page du Sous-Menu 2.1 ça exécutera le code javascript pour laisser le Sous-Menu 2 ouvert.

Si quelqu'un d'autre à un avis plus éclairé sur la question, qu'il ne se gêne pas Smiley smile
Modifié par Paul-Hewson (09 Aug 2006 - 09:37)
Bonjour,

Aurais-tu un lien afin de voir ce qui peut poser souci..
ou bien le code js avec le code de ta structure, ce serait plus facile pour t'aider.

@Paul-Hewson :
U2 addict ? Smiley cligne
Bonjour,

voila le lien http://veskario.free.fr/mag/

Ne pas fair gaffe au design Smiley langue c'est juste un gabari. L'erreur vient de l'hebergement de free, car en local ca marche niquel.

Donc mon sousi c'est que le menu 'Gants' par exemple se referme une fois que l'on a cliqué sur 'Gants enfants' et je voudrais qu'il reste ouvert comme avec le menu de ce site http://www.carolineperrin.fr/. (qui utilise le meme menu, au depart)

Voila le code de la page index :


<body>

<div id="general">
<div id="header"></div>
<div id="MenuHaut"></div>
<div id="MenuGauche">
<div class="t_menus">Categories</div>

<?php

include ('connexion.php');
include ('fonctions.php');

$params1 = array ('code'=>'__');
$sql = tableau_categories($params1);
$i=1;

echo '<dl id="menu">';
	while ($data = mysql_fetch_assoc ($sql)){
	$menu=$data['libele'];
	echo '<dt onclick="javascript:montre(\'smenu'.$i.'\');"><a href=#>'.ucfirst($menu).'</a></dt>
		  <dd id="smenu'.$i.'">
		  <ul>';
				$params = array ('code'=>''.$i.'0__');
				$sql2 = tableau_categories($params);
				while ($data = mysql_fetch_assoc ($sql2)){
				$smenu=$data['libele'];
				echo '<li><a href="index.php?page=produits&produits='.FormatNom5($smenu).'">'.ucfirst($smenu).'</a></li>';
				}
				echo '<li><a href="index.php?page=produits&produits='.$i.'0">Tous</a></li>';
	echo '</ul></dd>';
	$i++;
	}
echo '</dl>';


?>
<script type="text/javascript">
<!--
var oId = document.getElementById("menu");
var oDd = oId.getElementsByTagName("dd");
var iI = oDd.length - 1;
for( iI; iI >= 0; iI-- ) oDd[iI].style.display = "none";
//-->
</script>
<br><br>

</div>
<div id="centre">
<?php
	define("PATH", "./");
	// Tableau contenant les pages autorisées
	$tableau = glob(PATH . "*.inc.php");
	if (isset($_GET["page"]) && in_array(PATH . $_GET["page"] . ".inc.php", $tableau)) {
	$pageInclude = PATH . $_GET["page"] . ".inc.php";
	}
	else {
	$pageInclude = PATH .  "erreure.inc.php";
	}
	include $pageInclude;
?>
</div>
</div>
</body>


et voila la fonctin JS

window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}


Paul-Hewson, je vais voir avec ta solution.

merci pour votre aide.
Modifié par veskario (09 Aug 2006 - 14:17)
Bonjour,

merci pour les liens chmel.

Bon apres les avoir parcouru j'ai utilisé la metode php.

Donc au final je recupere la variable avec GET et j'applique le style en fonction de cette variable de cette façon :
($thisPage==FormatNom5($smenu)) ? $id='currentpage' : $id='autre';


ce qui donne au complet :

$params1 = array ('code'=>'__');
$sql = tableau_categories($params1);
$i=1;
$thisPage = $_GET['produits'];

echo '<dl id="menu">';
	while ($data = mysql_fetch_assoc ($sql)){
	$menu=$data['libele'];
	echo '<dt onclick="javascript:montre(\'smenu'.$i.'\');"><a href=#>'.ucfirst($menu).'</a></dt>
		  <dd id="smenu'.$i.'">
		  <ul>';
				$params = array ('code'=>''.$i.'0__');
				$sql2 = tableau_categories($params);
				while ($data = mysql_fetch_assoc ($sql2)){
				$smenu=$data['libele'];
				($thisPage==FormatNom5($smenu)) ? $id='currentpage' : $id='autre';
				echo '<li id="'.$id.'"><a href="index.php?page=produits&produits='.FormatNom5($smenu).'&ID=smenu'.$i.'">'.ucfirst($smenu).'</a></li>';
				}
				($thisPage==$i.'0') ? $yd='currentpage' : $yd='autre';
				echo '<li id="'.$yd.'"><a href="index.php?page=produits&produits='.$i.'0&ID=smenu'.$i.'">Tous</a></li>';
	echo '</ul></dd>';
	$i++;
	}
echo '</dl>';


?>

<script type="text/javascript">
<!--
var oId = document.getElementById("menu");
var oDd = oId.getElementsByTagName("dd");
var iI = oDd.length - 1;
for( iI; iI >= 0; iI-- ) oDd[iI].style.display = "none";
//-->
</script>
<br><br>

</div>
<script type="text/javascript">
<!--
window.onload=montre('<?=$_GET[ID]?>')
//-->
</script>
<div id="centre">


Voila si ca peu aider quelqu'un Smiley smile

Merci tout le monde Smiley cligne