Bonjour a tous;
mon problème c'est que je veux crée un déroulant en javascript je suis un peu débutant dans javascript. voilà j'ai une liste
mais bien sur le menu peut avoir plus de deux niveau je veux ajouter des idName et des classNam à l'aide dune fonction javascripte qui teste chaque noeud et lui donner la className ou le idName correspondant à mon menu comme ceci :
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 <html><head></head> <body> <ul id="menu"> <li>Element-1 <ul> <li>Element-1-1</li> <li>Element-1-2</li> </ul> </li> <li>Element-2 <ul> <li>Element-2-1</li> <li>Element-1-2</li> </ul> </li> <li>Element-3</li> </ul> </body> </html>
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 <html><head></head> <body> <ul id="menu"> <li id="liniv0">Element-1 <ul id="ulniv0"> <li id="liniv1">Element-1-1</li> <li id="liniv1">Element-1-2</li> </ul> </li> <li id="liniv0">Element-2 <ul id="ulniv0"> <li id="liniv1">Element-2-1</li> <li id="liniv1"i>Element-1-2</li> </ul> </li> <li id="liniv0">Element-3</li> </ul> </body> </html>
j'ai utiliser une fonction récursive comme suite mais je sais pas où est le problème sachez que je suis débutant et voilà ma fonction récursive:
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 idmenu="menu"; function menuderoulant(idmenu,k){ nod=document.getElementById(idmenu); nod=nod.childNodes; for(i=0;i<nod.length;i++){ if(nod[i].nodeType==1){ nod[i].id="limenu"+k; noed=nod[i].childNodes; for(j=0;j<noed.length;j++){ if(noed[j].nodeType==1){ noed[j].id="ulmenu"+k; d=k+1; menuderoulant(noed[j].id,d); } } } } }
Partager