Ci-dessous mon script.
Il ne fonctionne que sur Internet Explorer a cause de document.all et de sourceIndex a priori ...
Est-ce qu'une bonne ame pourrait m'aider a le rendre portable car je ne connais pas du tout Javascript ?

Merci d'avance de votre aide,
Cyril.

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
<html>
<head>
<style>
#foldheader{cursor:hand}
</style>
<script language="JavaScript1.2">
var head="display:''";
function getElementsById(theId){
  var __idArray = new Array();
  var __allArray = document.getElementsByTagName('li');
  for(var i=0;i<__allArray.length;i++){
    if(__allArray[i].id==theId){
      __idArray[__idArray.length] = __allArray[i]; 
    }
  }
  return __idArray;
}
 
function change(){
if(!document.all)
return;
if (event.srcElement.id=="foldheader") {
var srcIndex = event.srcElement.sourceIndex;
var nested = document.all[srcIndex+1];
 
var foldinglists = getElementsById("foldheader");
var nombre = foldinglists.length;
for (var i=0 ; i<nombre ;i++) {
        var srcIndex2 = foldinglists[i].sourceIndex;
        if (srcIndex != srcIndex2) { 
                document.all[srcIndex2+1].style.display="none";
        }
}
 
if (nested.style.display=="none") {
nested.style.display='';
}
else {
nested.style.display="none";
}
}
}
 
document.onclick=change;
</script>
</head>
 
<body>
<b><font face='' style='font-size:' color=''>
<li id="foldheader">Menu</li></font></b>
<ul id="foldinglist" style="display:none" style=&{head};> 
  <li>Ouverture menu</li>
  <li>Ouverture menu2</li>
</ul>
</body>
</html>