Bonjour,
Voici ma page html complète :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>test</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="pragma" content="no-cache"> <style type="text/css"> ul,li{list-style:none;} </style> <script language="JavaScript"> <!-- var expanded = null; var memopen = null; var expandedsubs; var memosubs; function SwitchMenu(id){ var expand = document.getElementById(id); if(expand.style.display != "block"){ //open if(expanded != null){ //if a menu is already shown //is there a memo ? if(memopen != null){ //yes : //am I a sub of memo ? var issub = false; memosubs = memopen.getElementsByTagName("ul"); for (var i=0; i<memosubs.length; i++){ if(memosubs.id == expand.id){issub = true;} } if(issub == true){ //yes : //close expanded expanded.style.display = "none"; // memo stray the same }else{ //no : //close memo and all its subs memopen.style.display = "none"; memosubs = memopen.getElementsByTagName("ul"); for (var i=0; i<memosubs.length; i++){ memosubs.style.display = "none"; } //destroy memo pointer memopen = null; } }else{ //no : //is current menu a sub of expanded ? var issub = false; expandedsubs = expanded.getElementsByTagName("ul"); for (var i=0; i<expandedsubs.length; i++){ if(expandedsubs.id == expand.id){issub = true;} } if(issub == true){ //yes : //dont close expanded memopen = expanded; //memo becomes expanded }else{ //no : //close expanded expanded.style.display = "none"; } } } //show current menu expand.style.display = "block"; //expanded becomes expand expanded = expand; }else{ expand.style.display = "none"; } } </script> </head> <body> <div id='LayerNav' style='position:absolute; left:-30px; z-index:1'> <ul id='menulink'> <li onclick="SwitchMenu('menu1')"><a href="#">menu1</a></li> <ul id='menu1' style='display:none; text-indent:-35px'> <li onclick="SwitchMenu('submenu11')"><a href="#">submenu11</a></li> <ul id='submenu11' style='display:none; text-indent:-65px'> <li><a href="www.google.com">link1</a></li> <li><a href="www.google.com">link2</a></li> </ul> <li onclick="SwitchMenu('submenu12')"><a href="#">submenu12</a></li> <ul id='submenu12' style='display:none; text-indent:-65px'> <li><a href="www.google.com">link1</a></li> </ul> </ul> <li onclick="SwitchMenu('menu2')"><a href="#">menu2</a></li> <ul id='menu2' style='display:none; text-indent:-35px'> <li onclick="SwitchMenu('submenu21')"><a href="#">submenu21</a></li> <ul id='submenu21' style='display:none; text-indent:-65px'> <li><a href="www.google.com">link1</a></li> <li><a href="www.google.com">link2</a></li> </ul> <li onclick="SwitchMenu('submenu22')"><a href="#">submenu22</a></li> <ul id='submenu22' style='display:none; text-indent:-65px'> <li><a href="www.google.com">link1</a></li> </ul> </ul> </ul> </div> </body> </html>
Tout fonctionne sous Firefox mais avec IE il semble que la fonction est appelée 2 fois de suite !
Je ne comprend vraiment pas le problème.
Merci de votre aide.
Partager