Fermer question à l'ouverture d'une autre (FAQ)

Permet de fermer un accordéon au sein d'une FAQ quand on clique sur une nouvelle question

Language: Javascript

Catégorie : Utilities

Favicon de Justa
<script>

document.addEventListener('DOMContentLoaded', function () {
  document.querySelectorAll('[js-faq-collapse="true"]').forEach(function (element) {
    element.addEventListener('click', function () {
      if (!element.classList.contains('open')) {
        document.querySelectorAll('[js-faq-collapse="true"].open').forEach(function (item) {
          item.click();
        });
        element.classList.add('open');
      } else {
        element.classList.remove('open');
      }
    });
  });
  const defaultFaq = document.querySelector('[js-faq-default="true"]');
  if (defaultFaq) {
    defaultFaq.click();
  }
});

</script>
Sommaire
1
Le script
2
Les attributes
3
Tuto vidéo
4
Template à cloner
5
Source du script

Utiliser un LLM pour résumer ou expliquer ce script

1

Le script

Ajouter le script sur la page ou le projet Webflow

<!-- Scripts by Justa | FAQ -->
<script src="https://cdn.jsdelivr.net/npm/@justaa/scripts/dist/util/faq.js"></script>
<script>

document.addEventListener('DOMContentLoaded', function () {
  document.querySelectorAll('[js-faq-collapse="true"]').forEach(function (element) {
    element.addEventListener('click', function () {
      if (!element.classList.contains('open')) {
        document.querySelectorAll('[js-faq-collapse="true"].open').forEach(function (item) {
          item.click();
        });
        element.classList.add('open');
      } else {
        element.classList.remove('open');
      }
    });
  });
  const defaultFaq = document.querySelector('[js-faq-default="true"]');
  if (defaultFaq) {
    defaultFaq.click();
  }
});

</script>
2

Les attributes

DIV - Identifier le wrapper de chaque FAQ Question

DIV - Identifier le wrapper de chaque FAQ Question (comme l'attribute précédent) OPTIONNEL

3

Tuto

4

Template

5

Code source du script

<script>

document.addEventListener('DOMContentLoaded', function () {
  document.querySelectorAll('[js-faq-collapse="true"]').forEach(function (element) {
    element.addEventListener('click', function () {
      if (!element.classList.contains('open')) {
        document.querySelectorAll('[js-faq-collapse="true"].open').forEach(function (item) {
          item.click();
        });
        element.classList.add('open');
      } else {
        element.classList.remove('open');
      }
    });
  });
  const defaultFaq = document.querySelector('[js-faq-default="true"]');
  if (defaultFaq) {
    defaultFaq.click();
  }
});

</script>

Voir d'autres scripts de la même catégorie

Je veux lancer mon projet avec Justa

Nous contacter