Faire en sorte que l’accordéon horizontal de JQuery soit proche d’un clic

Exemple: http://vincent-massaro.com/map/

Actuellement, le script vous permet de cliquer sur un morceau de l’accordéon pour l’ouvrir, mais il est configuré pour se fermer sur la souris. Lorsque je règle le clic de souris sur .click, il devient confus et ne sait pas dans quel état il se trouve. Je veux le faire de sorte que vous puissiez cliquer pour l’ouvrir et cliquer pour le fermer, au lieu de laisser la souris. Le code contrôlant cela est ci-dessous, et le script complet est lié à haccordion.js dans le source de la page. Si quelqu’un pouvait m’aider à modifier ce script, je vous en serais très reconnaissant! Merci d’avance.

$target.click(function(){ haccordion.expandli(config.accordionid, this) config.$lastexpanded=$(this) }) if (config.collapsecurrent){ //if previous content should be contracted when expanding current $target.mouseleave(function(){ $(this).stop().animate({width:config.paneldimensions.peekw}, config.speed) }) } 

essayez d’utiliser ceci

 $('.accordion-item-header').click(function() { var item = $(this).parent().find('.accordion-item-body'); item.toggleClass('open').animate({ width:item.hasClass('open') ? 0: 100 }, 100).toggleClass('open'); }); 

Vous pouvez définir une variable booléenne pour indiquer si l’accordéon est ouvert ou non, et simplement la cocher au clic. (Vous devrez également basculer l’état de la variable en cliquant aussi)

Modifier:

Ok essayez ceci. Définissez une variable globale booléenne (en dehors de l’événement click) comme ceci:

 var accordion_expanded = false; 

Puis, dans votre événement click, faites quelque chose comme ceci: (je n’ai pas testé cela, vous devrez peut-être en masser un peu pour l’adapter à votre situation)

Dans la fonction où vous développez votre accordéon, mettez ceci:

 accordion_expanded = true; 

Et dans la fonction où vous contractez votre accordéon faire un

 if(accordion_expanded == true){ //Contract accordion code goes here accordion_expanded == false; } 

Bonne chance!