J'ai une simple page de questions et réponses. Lorsqu'un utilisateur clique sur une question, la réponse est affichée avec slideToggle().Jquery QuestionAnswer avec slideToggle
Ceci est assez trivial mais je suis bloqué sur Chrome, Safari et Opera mais fonctionne sur Firefox qui est expecatable pour les trois premiers car ils sont exécutés par Webkit et Firefox par Gecko. J'utilise toute la dernière version des navigateurs présentés.
Le code est ce ...
(function() {
$('.answer-list').addClass('answer-list-display');
$('.question button').click(function() {
$(this).next().slideToggle(300);
});
}())
Il est tout à fait banal et il est censé fonctionner.
J'ai trouvé a similar answer (en fait, le même que le mien) mais si j'utilise visibility:hidden
, la hauteur des réponses reste ce qui crée un écart entre les questions. J'ai aussi essayé de le faire en contrôlant height
et la fonction animation() mais toujours sans succès.
Tous les navigateurs Webkit affichent la réponse pour la première fois. Mais tous les autres fois, je dois cliquer sur la question trois (!) Fois pour voir la réponse.
Je sais que c'est une question triviale, mais j'ai réellement passé 4 heures de ma vie à essayer de le faire, je n'avais presque pas de sommeil et c'est vraiment frustrant.
J'ai également trouvé un exemple d'un livre que j'ai lu il y a longtemps, Jquery The Missing Manual qui utilise la méthode toggle()
avec deux fonctions comme arguments. Toujours pas fonctionné avec les mêmes problèmes dans les navigateurs Webkit.
Merci pour toutes les réponses.