Bonjour!
Alors voila, j'essaye de faire une espèce de bloc qui contient un titre. Et si on clique dessus, le bloc s'aggrandit et laisse apparaître un texte. Si on reclique, le bloc rapetissit jusqu'à n'afficher que le titre.
J'ai donc fait ceci:
Donc au départ mon div à sa taille maximum, que je sauvegarde, puis je change sa taille pour qu'il n'affiche plus que le titre.
On clique sur le divm je lance la fonction qui va ajouter 1px a la hauteur du div jusqu'à atteindre la hauteur max.
Et jusque là tout baigne!
Par contre, grosse suprise, dans l'autre sens cela ne marche pas. Une fois la taille max atteinte, le sens change pour devenir 'haut'. Si je reclique sur mon div, sa hauteur, non contente de décroitre, va encore augmenter à l'infini!
Encore plus bizarre, si au lieu de faire -1 pixel, je met -6, alors rien ne bouge. Et si je met -7, alors sa hauteur va enfin décroitre! Comme si à chaque fois, il ajoutait 6 pixels... auriez-vous une idée?
D'avance merci!
Alors voila, j'essaye de faire une espèce de bloc qui contient un titre. Et si on clique dessus, le bloc s'aggrandit et laisse apparaître un texte. Si on reclique, le bloc rapetissit jusqu'à n'afficher que le titre.
J'ai donc fait ceci:
<div id="divAide" style="border:1px solid black; background-color:#ffffab; margin-top:10px; padding:2px; font-size:11px; overflow:hidden; cursor:pointer;" align="left" onclick="redimDiv()">
<h2>Besoin d\'aide?</h2>
<p>CouCou....blablabla texte etc...</p>
</div>
<script type="text/javascript" language="javascript">
var hauteur = document.getElementById('divAide').offsetHeight;
var hauteur2 = 45;
var sens = 'bas';
document.getElementById('divAide').style.height='45px';
function redimDiv()
{
if(sens == 'bas')
{
if(document.getElementById('divAide').offsetHeight < hauteur)
{
var haut = document.getElementById('divAide').offsetHeight + 1;
document.getElementById('divAide').style.height = haut+'px';
setTimeout(redimDiv,5);
}
else{sens = 'haut';}
}
else
{
if(document.getElementById('divAide').offsetHeight > hauteur2)
{
var haut2 = document.getElementById('divAide').offsetHeight - 1;
document.getElementById('divAide').style.height = haut2+'px';
setTimeout(redimDiv,5);
}
else{sens = 'bas';}
}
}
</script>
Donc au départ mon div à sa taille maximum, que je sauvegarde, puis je change sa taille pour qu'il n'affiche plus que le titre.
On clique sur le divm je lance la fonction qui va ajouter 1px a la hauteur du div jusqu'à atteindre la hauteur max.
Et jusque là tout baigne!
Par contre, grosse suprise, dans l'autre sens cela ne marche pas. Une fois la taille max atteinte, le sens change pour devenir 'haut'. Si je reclique sur mon div, sa hauteur, non contente de décroitre, va encore augmenter à l'infini!
Encore plus bizarre, si au lieu de faire -1 pixel, je met -6, alors rien ne bouge. Et si je met -7, alors sa hauteur va enfin décroitre! Comme si à chaque fois, il ajoutait 6 pixels... auriez-vous une idée?
D'avance merci!