Bonjour,

J'ai un problème avec mon menu déroulant sous firfox (fonctionne avec ie).
J'ai suivi un tutoriel trouvé sur internet.
Jusque là tout se passe bien mais je souhaite que lors du rafraichissement, le menu déroulant reste ouvert pour : Page2, Page21, Page22, Page23 (voir input hidden).
Actuellement lorsque je clique la premiere fois sa fonctionne bien mais apres les href sont "désactivés". Pourquoi ?
Vue:
Page1, Page3 (Menu déroulant fermé):
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
<input type='hidden' value='1' name='id' id='id'/>
Page2, Page21, Page22, Page23( Menu déroulant ouvert);
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
<input type='hidden' value='2' name='id' id='id'/>
Fonction js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 $(document).ready( function () {
        // On cache les sous-menus
 
        // Si l'on est sur les : Page2, Page21, Page22, Page23 le menu doit etre dérouler
		var id  =document.getElementById('id').value;
 
		if(id!=2)
		{
			$("ul.subMenu:not('.open_at_load')").hide();
        }
		// On selectionne tous les items de liste portant la classe "toggleSubMenu"
 
        // et on remplace l'element span qu'ils contiennent par un lien :
       $("li.toggleSubMenu span").each( function () { 
            // On stocke le contenu du span :
            var TexteSpan = $(this).text();
            $(this).replaceWith('<a href="http://127.0.0.1/site/index.php/admin/Page2">' + TexteSpan + '</a>') ;
        }) ;
 
 
 
        // On modifie l'evenement "click" sur les liens dans les items de liste
        // qui portent la classe "toggleSubMenu" :
        $("li.toggleSubMenu > a").click( function () {
 
            // Si le sous-menu etait deja ouvert, on le referme :
            if ($(this).next("ul.subMenu:visible").length != 0) {
                $(this).next("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } );
 
            }else{
 
            // Si le sous-menu est cache, on ferme les autres et on l'affiche :
 
                $("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } );
                $(this).next("ul.subMenu").slideDown("normal", function () { $(this).parent().addClass("open") } );
           }
            // On empeche le navigateur de suivre le lien :
            return false; //si je met true il n'y aucun changement
        });
 
    }) ;
css :

Code css : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
.navigation {
  margin: 0;
  padding: 0;
  list-style: none;
  background: #000;
  color: #fff;
  width: 200px;
  font: 1.2em "Trebuchet MS", sans-serif;
}
.navigation a, .navigation span {
  display: block;
  padding: 4px 10px;
  color: #fff;
  text-decoration: none;
  background: #000 url(../img/menu-item.png) left bottom no-repeat;
}
.navigation .toggleSubMenu a, .navigation .toggleSubMenu span {
  background-image: url(../img/menu-item-deroule.png);
}
.navigation .open a, .navigation .open span {
  background-image: url(../img/menu-item-enroule.png);
}
.navigation a:hover, .navigation a:focus, .navigation a:active {
  text-decoration: underline;
}
.navigation .subMenu {
  font-size: .8em;
  background: #ccc url(../img/subMenu.png) 0 0 repeat-x;
  font-size: .9em;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #666;
}
.navigation ul.subMenu a {
  background: none;
  padding: 3px 20px;
}
header :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<ul class="navigation">
  <li><a href='<?php echo site_url() ; ?>/admin/Page1' >Page1</a></li>
 
  <li class="toggleSubMenu"><span>Page2</span>
    <ul class="subMenu">
      <li><a href='<?php echo site_url() ; ?>/admin/Page21' >Page21</a></li>
      <li><a href='<?php echo site_url() ; ?>/admin/Page22' >Page22</a></li>
      <li><a href='<?php echo site_url() ; ?>/admin/Page23' >Page23</a></li>
    </ul>
    </li>
    <li><a href='<?php echo site_url() ; ?>/admin/Page3'>Page3</a></li>
 
</ul>