MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
// Select the rotating div | // Select the rotating div | ||
var rotatingDiv = document.getElementById('rotatingDiv'); | 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 | // Add a scroll event listener to the window | ||
Line 13: | Line 40: | ||
fetch('https://corsproxy.io/?https://ipa-wetter-01.zdv.uni-mainz.de/wetter/wetter.json').then( | let bodyContainer; | ||
return response.json() | 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); | |||
}); |
Revision as of 09:02, 2 March 2024
// 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); });