Je travaille avec JQuery et je suis en train de changer le code HTML d'une boîte div lorsque les diapositives div enfant dans et hors. Mon problème est que le code ci-dessous ne change pas la valeur html de # menuenu. Il affiche uniquement le menu Masquer et ne détecte pas la hauteur réelle telle que modifiée par slideToggle.JQuery Diaporama événement et Div hauteur ne change pas comme prévu
$('#menu').click(function() {
$('#menu_links').slideToggle('slow', function(){
console.log('Debug : %s', $('#menu_links').height());
if ($('#menu_links').height() == 1)
$('#menu_text').html("Show Menu");
else if ($('#menu_links').height() == 20)
$('#menu_text').html("Hide Menu");
});
});
Lors de l'inspection dans la console Firebug, la valeur de la hauteur ne change jamais de 20 à moins que vous cliquez sur le div vraiment rapide plusieurs fois, puis il passera à 1. (Je dois ajouter que la hauteur définie dans la feuille de style est 20)
le doc dit que slideToggle affecte uniquement la hauteur de l'objet. Est-ce que je manque quelque chose? Merci pour l'aide.
<div id="menu"><p id="menu_text">Show Menu</p>
<div id="menu_links">
Stuff
</div>
</div>
Donc la hauteur ne change pas lors de l'inspection dans Firebug. Est-ce que les éléments du menu glissent dans et hors? Quelle est ta question? –
L'élément de menu glisse dans et hors, mais le html ne change pas. Ma conjecture est que parce que le .height() de la div ne change pas de 20 quand il devrait être. –
Avant de mettre l'instruction conditionnelle à l'intérieur du rappel pour slideToggle, je l'avais en dehors de slideToggle et mettre 2 diapositives dans l'instruction bascule conditionnelle. Ce que j'ai vu alors était la valeur changeant de 20 à 1 et arrière mais il ne changeait pas le HTML comme si il ne me donnait pas les bonnes valeurs pour la taille. Ensuite, j'ai bricolé avec pour mettre l'instruction conditionnelle à l'intérieur du rappel et c'est ce que je suis parti avec. La valeur de la hauteur devrait changer, ne pas rester à 20, car la diapositive fonctionne réellement. –