⊗jsPrStSpl 12 of 62 menu

Spoiler en JavaScript

Maintenant, nous allons apprendre à créer des spoilers. Par spoilers, j'entends des blocs que l'on peut déplier ou replier à l'aide d'un lien spécifique.

Dans l'exemple de code suivant, le paragraphe avec la classe spoiler est un spoiler, et le lien avec la classe toggle doit, lors d'un clic, afficher ou masquer ce spoiler :

<p> paragraphe avec du texte <a href="" class="toggle">déplier</a> </p> <p class="spoiler"> spoiler masqué </p> <p> paragraphe avec du texte </p>

Dans le texte, il peut bien sûr y avoir plusieurs spoilers et chacun doit avoir son propre lien :

<p> paragraphe avec du texte </p> <p> paragraphe avec du texte <a href="" class="toggle">déplier le spoiler 1</a> </p> <p class="spoiler"> spoiler masqué 1 </p> <p> paragraphe avec du texte </p> <p> paragraphe avec du texte <a href="" class="toggle">déplier le spoiler 2</a> </p> <p class="spoiler"> spoiler masqué 2 </p> <p> paragraphe avec du texte </p>

De toute évidence, le lien pour le dépliage et le spoiler lui-même doivent être liés d'une certaine manière. On peut imaginer diverses options, mais dans ce cas, je propose de le faire par emplacement : disons que le lien avec la classe toggle ouvre ou ferme l'élément avec la classe spoiler, situé juste après le parent de ce lien.

Supposons que le spoiler soit masqué par défaut, et si nous voulons l'afficher - nous lui donnerons la classe active. Écrivons le code CSS correspondant :

.spoiler:not(.active) { display: none; }

Copiez les codes HTML et CSS fournis. Implémentez le fonctionnement décrit des spoilers.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser