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>
Partager