1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
// Par défaut, on masque les éléments qui ne doivent être visibles que lorsque la classe "is-active" est présente dans le DOM $('#showIfLinkIsActive').addClass('hidden'); // Fonction qui vérifie si la classe "is-active" est présente dans le DOM function setElementVisibility(){ if($('.foo-element a.link').hasClass('is-active')){ $('#showIfLinkIsActive').removeClass('hidden'); } else{ $('#showIfLinkIsActive').addClass('hidden'); } } // Au clic sur un lien, on lance la fonction ci-dessus (on attend 100ms que la classe ".is-active" fasse son apparition dans le DOM) $('.foo-element a.link').on('click', function(){ setTimeout(setElementVisibility, 100); }); // Au clic n'importe où dans le document (fermeture automatique du lien ouvert), on relance la fonction ci-dessus... $(document).on('click', function(){ setTimeout(setElementVisibility, 100); }); // ...mais le lien ouvert ne doit pas se fermer au clic sur ces éléments var fooElements = $('.foo-element, .foo-element2, .foo-element3'); fooElements.on('click', function(e){ e.stopPropagation(); }); |
© 2021 devfrontend.info
Theme by Anders Norén — Up ↑