MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
Tag: Manual revert
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
// Select the rotating div
/**
var rotatingDiv = document.getElementById('rotatingDiv');
* Adds CSS classes to the body tag based on the categories this page belongs to
 
*
// Add a scroll event listener to the window
* @source https://www.mediawiki.org/wiki/Snippets/Style_pages_based_on_categories
window.addEventListener('scroll', function() {
* @revision 2016-01-18
  // Get the scroll position
*/
  var scrollPosition = window.scrollY;
(function($, mw) {
 
  var fn = function() {
   // Adjust the rotation based on the scroll position
    var cats = mw.config.get('wgCategories'), newClasses;
   var rotationAngle = scrollPosition / 5; // You can adjust the division factor to control the rotation speed
    if (cats) {
   rotatingDiv.style.transform = 'rotate(' + rotationAngle + 'deg)';
      newClasses = $.map(cats, function(el) {
});
        return 'cat-' + encodeURIComponent(el.replace(/[ .]/g, '_')).replace(/%/g, '_');
      }).join(' ');
      $(document.body).addClass(newClasses);
    }
   };
   if (document.body) {
    fn();
   } else {
    $(fn);
  }
})(jQuery, mw);

Latest revision as of 17:02, 14 March 2024

/**
 * Adds CSS classes to the body tag based on the categories this page belongs to
 *
 * @source https://www.mediawiki.org/wiki/Snippets/Style_pages_based_on_categories
 * @revision 2016-01-18
 */
(function($, mw) {
  var fn = function() {
    var cats = mw.config.get('wgCategories'), newClasses;
    if (cats) {
      newClasses = $.map(cats, function(el) {
        return 'cat-' + encodeURIComponent(el.replace(/[ .]/g, '_')).replace(/%/g, '_');
      }).join(' ');
      $(document.body).addClass(newClasses);
    }
  };
  if (document.body) {
    fn();
  } else {
    $(fn);
  }
})(jQuery, mw);