Bonjour,

j'ai un code qui permet d'afficher plus d'information ; dans cet exemple, il y a 2 items, et si on étire le premier cela masque le deuxième (bien). Par contre, si on referme l'étirement du premier, le deuxième reste masqué au lieu de réapparaître ; il y a donc un bug dans mon code, mais je ne vois pas :

Code js : 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
function expand(id, expanded){
  var Item = document.getElementById(id); 
  if(expanded=== undefined){
    expanded = (Item.offsetWidth == 0); //toggle expanded state : au départ, pas de hash
  }
 
  Item.style.display = expanded ? "block" : "none"; 
  document.getElementById(id+'Bt').href = expanded ? "#expanded" : "#";
  document.getElementById(id+'Bt').innerHTML = expanded ? "Fermer" : "Ouvrir";
  if (document.getElementById(id+'Bt').innerHTML=="Fermer") document.getElementById("test2Bt").style.display="block";//essai non concluant de réaffichage
}
function init() {
    expand("test1", window.location.hash==="#expanded");
	expand("test2", window.location.hash==="#expanded");
}
 
function test1(){
expand('test1');
document.getElementById("test2Bt").style.display="none";//masquer le 2e item
 
}

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<body onload="init();">
  <a id="test1Bt" href="#" onclick="test1();">Ouvrir</a>
  <div id="test1">
      test1<br />
  </div> <br/>
  <a id="test2Bt" href="#" onclick="expand('test2');">Ouvrir</a>
  <div id="test2">
      test2<br/>
  </div>
</body>