MediaWiki:Common.js

From XilePK - Ragnarok Online Server
Revision as of 22:03, 12 April 2025 by Admin (talk | contribs)
Jump to navigation Jump to search

Note: After saving, 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: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* Any JavaScript here will be loaded for all users on every page load. */

$(document).ready(function() {
  $(document).on('click', '.warp-copy', function() {
    var textToCopy = $(this).attr('data-copy');
    
    var tempInput = document.createElement('textarea');
    tempInput.value = textToCopy;
    document.body.appendChild(tempInput);
    tempInput.select();
    document.execCommand('copy');
    document.body.removeChild(tempInput);
    
    var originalColor = $(this).css('color');
    $(this).css('color', 'green');
    var self = this;
    setTimeout(function() {
      $(self).css('color', originalColor);
    }, 500);
  });
});

/* Auto-expand sections when clicking anchored links */
$(document).ready(function() {
  // Handle initial page load with hash
  if (window.location.hash) {
    expandSectionForAnchor(window.location.hash);
  }
  
  // Handle clicks on anchor links within the page
  $(document).on('click', 'a[href^="#"]', function(event) {
    var hash = $(this).attr('href');
    expandSectionForAnchor(hash);
  });
  
  // Function to expand section containing an anchor
  function expandSectionForAnchor(hash) {
    // Try to find the anchor element
    var targetElement = $(hash);
    if (targetElement.length) {
      // Find the closest collapsible section
      var collapsibleSection = targetElement.closest('.mw-collapsible.mw-collapsed');
      
      // If the target is inside a collapsed section, expand it
      if (collapsibleSection.length) {
        // Click the toggle button to expand
        collapsibleSection.find('.mw-collapsible-toggle').first().click();
        
        // Scroll to the element after a short delay to allow expansion
        setTimeout(function() {
          $('html, body').animate({
            scrollTop: targetElement.offset().top - 100
          }, 200);
        }, 300);
      }
    }
  }
});