| Auteur | |
|---|---|
| lionel_css3 | |
| 274 Posts |
Bonjour, je cherche à détecter l’événement d'ouverture d'un panneau d'accordéon jquery (l’événement change ne convient pas car il agit à la fermeture autant qu'à l'ouverture) j'ai écrit ce code
.ui-state-default est l'état du panneau fermé et .ui-state-active est l'état du panneau ouvert. Curieusement le click est détecté autant sur l'ouverture que sur la fermeture... quand je clique sur le panneau fermé j'obtiens:
et quand je clique sur le panneau ouvert j'obtiens:
alors que je m'attendais au contraire..... c'est pas un peu bizarre..? Modifié par lionel_css3 (21 Feb 2012 - 21:31) |
| lionel_css3 | |
| 274 Posts |
j'ai trouvé une solution en faisant ceci (j'ai rajouté la déclaration de l'accordéon pour plus de clarté)
ça fonctionne; l'affichage du log se fait uniquement à l'ouverture du panneau mais c'est bizarre car il affiche ui-state-active comme si il tenait compte de l'état après le click et non pas au moment du click... quelqu'un peut il expliquer cela??? |
| lionel_css3 | |
| 274 Posts |
Je rebondis sur mon post, est ce que quelqu'un sait si on peut détecter les deux états suivants d'un accordion jQuery: - tous les panneaux sont fermés - 1 panneau est ouvert je voudrais afficher un image (pour meubler) en dessous d'un accordion fermé, et dès qu'on ouvre un panneau, l'image passe en display:none et disparait et la hauteur du panneau qui s'ouvre prend sa place dans la hauteur, ceci pour ne pas casser ma mise en page... merci |
| lionel_css3 | |
| 274 Posts |
j'ai trouvé une solution un peu tordue mais elle marche, avec ce code d'initialisation de mon accordion.
je me suis rendu compte que si on fermait un panneau ouvert (grace à collapsible : true dans les paramètres, il renvoyait une chaine vide pour index_newContent (élément de ui.newContent), cette variable me sert ailleurs. le div#deco-3d est caché si un panneau est ouvert, il est visible si aucun panneau n'est ouvert, c'est ce que je voulais mais je ne comprend pas pourquoi ça fonctionne... |