MediaWiki:Anisa.js: Unterschied zwischen den Versionen

Aus Phoenix-Larp Wiki

Die Seite wurde neu angelegt: „mw.loader.using( ['mediawiki.util'] ).then(function () { $(function () { // Passe die Selektoren ggf. an Anisa an: var $personal = $('#p-personal, .mw-portlet-personal, .personal-tools, #anisa-personal'); var openClass = 'mw-menu-open'; // Login-Button / Personal-Menü-Trigger var $trigger = $personal.find('a[href*="title=Spezial:Anmelden"], a[href*="title=Special:UserLogin"], .menu-toggle, .personal-trigger').first(); // Fallb…“
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
mw.loader.using( ['mediawiki.util'] ).then(function () {
mw.loader.using( ['mediawiki.util'] ).then(function () {
   $(function () {
   $(function () {
    // Passe die Selektoren ggf. an Anisa an:
     var $personal = $('#p-personal, .mw-portlet-personal, .personal-tools, #anisa-personal');
     var $personal = $('#p-personal, .mw-portlet-personal, .personal-tools, #anisa-personal');
     var openClass = 'mw-menu-open';
     var $menu = $personal.find('.vector-menu-content, .menu, .dropdown').first();
    var hideTimer = null;
    var delay = 600; // ms – hier länger/kuerzer stellen


     // Login-Button / Personal-Menü-Trigger
     $personal.on('mouseenter', function () {
    var $trigger = $personal.find('a[href*="title=Spezial:Anmelden"], a[href*="title=Special:UserLogin"], .menu-toggle, .personal-trigger').first();
       clearTimeout(hideTimer);
 
       $personal.addClass('mw-menu-open');
    // Fallback: Wenn kein spezieller Trigger gefunden wird, nimm den ersten Link
    if (!$trigger.length) $trigger = $personal.find('a').first();
 
    $trigger.on('click', function (e) {
       e.preventDefault();
      e.stopPropagation();
       $personal.toggleClass(openClass);
     });
     });


    // außerhalb klicken -> schließen
     $personal.on('mouseleave', function () {
     $(document).on('click', function () {
       hideTimer = setTimeout(function () {
       $personal.removeClass(openClass);
        $personal.removeClass('mw-menu-open');
      }, delay);
     });
     });
   });
   });
});
});

Version vom 8. Oktober 2025, 19:34 Uhr

mw.loader.using( ['mediawiki.util'] ).then(function () {
  $(function () {
    var $personal = $('#p-personal, .mw-portlet-personal, .personal-tools, #anisa-personal');
    var $menu = $personal.find('.vector-menu-content, .menu, .dropdown').first();
    var hideTimer = null;
    var delay = 600; // ms – hier länger/kuerzer stellen

    $personal.on('mouseenter', function () {
      clearTimeout(hideTimer);
      $personal.addClass('mw-menu-open');
    });

    $personal.on('mouseleave', function () {
      hideTimer = setTimeout(function () {
        $personal.removeClass('mw-menu-open');
      }, delay);
    });
  });
});