MediaWiki:Common.js
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. */
//make destination of the logo hyperlink random
let logos = document.querySelectorAll('.mw-logo');
logos.forEach(function(logo) {
logo.href = 'https://ooqa.karls.computer/Special:Random';
});
// add a little disorder
function rand(min = -1, max = 1) {
return Math.random() * (max - min) + min
}
document.querySelectorAll('ul li, .mw-logo > *').forEach( e => {
e.style.rotate = `${ rand(-3, 3) }deg`
})
// Function to generate a random bright color
function getRandomBrightColor() {
const min = 200; // Minimum value for bright colors
const r = Math.floor(Math.random() * (255 - min) + min);
const g = Math.floor(Math.random() * (255 - min) + min);
const b = Math.floor(Math.random() * (255 - min) + min);
return `rgb(${r},${g},${b})`;
}
// Set the initial random background color for all elements
function setBackgroundColors() {
// Set for root variable --background-color-base (so also body)
document.documentElement.style.setProperty('--background-color-base', getRandomBrightColor());
// Set for .vector-pinned-container
const pinnedContainers = document.querySelectorAll('.vector-pinned-container');
pinnedContainers.forEach(element => {
element.style.backgroundColor = getRandomBrightColor();
});
// Set for .vector-dropdown-content
const dropdownContent = document.querySelectorAll('.vector-dropdown-content');
dropdownContent.forEach(element => {
element.style.backgroundColor = getRandomBrightColor();
});
}
// Gradually change the background color for all elements
function changeBackgroundGradually() {
setInterval(() => {
setBackgroundColors();
}, 5000); // Change every 5 seconds
}
// Initialize the process
setBackgroundColors();
changeBackgroundGradually();