MediaWiki:Common.js

Revision as of 15:47, 5 February 2025 by Mythcraftadmin (talk | contribs) (Created page with "→‎Any JavaScript here will be loaded for all users on every page load.: mw.loader.using(['jquery'], function () { $('h2').each(function () { // ONLY targets h2 (Subheading 1) var $heading = $(this); var $content = $heading.nextUntil('h2'); // Stops at the next h2 if ($content.length) { var $toggle = $('<span class="toggle-link" style="cursor: pointer; color: blue; margin-left: 10px;">[+]</span>'); $heading.appen...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */

mw.loader.using(['jquery'], function () {
    $('h2').each(function () {  // ONLY targets h2 (Subheading 1)
        var $heading = $(this);
        var $content = $heading.nextUntil('h2');  // Stops at the next h2

        if ($content.length) {
            var $toggle = $('<span class="toggle-link" style="cursor: pointer; color: blue; margin-left: 10px;">[+]</span>');

            $heading.append($toggle);
            $content.wrapAll('<div class="collapsible-content" style="display: none;"></div>');

            $toggle.on('click', function () {
                var $container = $toggle.parent().next('.collapsible-content');
                var isVisible = $container.is(':visible');
                $container.toggle(!isVisible);
                $toggle.text(isVisible ? '[+]' : '[-]');
            });
        }
    });
});