Tout réafficher après suppression de "étirer"
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:
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:
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> |