MediaWiki:Common.js

Revision as of 09:02, 2 March 2024 by Niklas (talk | contribs)

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.
// Select the rotating div
var rotatingDiv = document.getElementById('rotatingDiv');


/**
 * 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);




// Add a scroll event listener to the window
window.addEventListener('scroll', function() {
  // Get the scroll position
  var scrollPosition = window.scrollY;

  // Adjust the rotation based on the scroll position
  var rotationAngle = scrollPosition / 5; // You can adjust the division factor to control the rotation speed
  rotatingDiv.style.transform = 'rotate(' + rotationAngle + 'deg)';
});


let bodyContainer;

fetch('https://corsproxy.io/?https://ipa-wetter-01.zdv.uni-mainz.de/wetter/wetter.json')
    .then(response => {
        if (!response.ok) {
            throw new Error('Network response was not ok');
        }
        return response.json();
    })
    .then(data => {
        bodyContainer = document.querySelector(".mw-page-container");

        if (bodyContainer) {
            bodyContainer.style.filter = `hue-rotate(${data['Windrichtung']}deg)`;

            let Windrichtung = data['Windrichtung'];
            // Do something with Windrichtung if needed
        } else {
            console.error("Could not find .mw-page-container");
        }
    })
    .catch(error => {
        console.error('Fetch operation failed:', error);
    });