« Widget:ModalLink » : différence entre les versions

De WikiFiction
Admin (discussion | contributions)
Aucun résumé des modifications
Balises : Révocation manuelle Révoqué
Admin (discussion | contributions)
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 7 : Ligne 7 :
</noinclude>
</noinclude>


<div class="wf-modal-widget style="display:inline">
<div class="wf-modal-widget" style="display:inline;">
   <a href="/index.php?title=<!--{$page|escape:'url'}-->" class="wf-modal-trigger" style="cursor:pointer;"><!--{$texte|default:$page|escape:'html'}--></a>
   <a href="/index.php?title=<!--{$page|escape:'url'}-->" class="wf-modal-trigger" style="cursor:pointer;"><!--{$texte|default:$page|escape:'html'}--></a>
   <div class="wf-modal-overlay" style="display:none; position:fixed; z-index:9999; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.5); align-items:center; justify-content:center;">
   <div class="wf-modal-overlay" style="display:none; position:fixed; z-index:9999; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.5); align-items:center; justify-content:center;">

Dernière version du 29 septembre 2026 à 22:24

Widget pour ouvrir une page du wiki dans une boîte modale (contenu épuré via action=render). Syntaxe :

- « texte » est optionnel (défaut : nom de la page). - Utilisable plusieurs fois sur la même page, sans réglage. - Sans JavaScript, le lien s'ouvre normalement (repli gracieux).


 <a href="/index.php?title=" class="wf-modal-trigger" style="cursor:pointer;"></a>

<script> (function() {

   var root = document.currentScript.previousElementSibling;
   var overlay = root.querySelector('.wf-modal-overlay');
   var trigger = root.querySelector('.wf-modal-trigger');
   var closeBtn = root.querySelector('.wf-modal-close');
   function open(e) {
       if (e) e.preventDefault();
       overlay.style.display = 'flex';
       document.body.style.overflow = 'hidden';
   }
   function close() {
       overlay.style.display = 'none';
       document.body.style.overflow = ;
   }
   trigger.addEventListener('click', open);
   closeBtn.addEventListener('click', close);
   overlay.addEventListener('click', function(e) {
       if (e.target === overlay) close();
   });
   document.addEventListener('keydown', function(e) {
       if (e.key === 'Escape' && overlay.style.display !== 'none') close();
   });

})(); </script>