MediaWiki:Vector.js: Difference between revisions
No edit summary |
No edit summary |
||
Line 26: | Line 26: | ||
// Set the initial random background color for all elements | // Set the initial random background color for all elements | ||
function | function setBackgroundColors() { | ||
// Set for body | // Set for body | ||
document.body.style.backgroundColor = | document.body.style.backgroundColor = getRandomBrightColor(); | ||
// Set for .vector-pinned-container | // Set for .vector-pinned-container | ||
const pinnedContainer = document.querySelector('.vector-pinned-container'); | const pinnedContainer = document.querySelector('.vector-pinned-container'); | ||
if (pinnedContainer) pinnedContainer.style.backgroundColor = | if (pinnedContainer) pinnedContainer.style.backgroundColor = getRandomBrightColor(); | ||
// Set for .vector-dropdown-content | // Set for .vector-dropdown-content | ||
const dropdownContent = document.querySelectorAll('.vector-dropdown-content'); | const dropdownContent = document.querySelectorAll('.vector-dropdown-content'); | ||
dropdownContent.forEach(element => { | dropdownContent.forEach(element => { | ||
element.style.backgroundColor = | element.style.backgroundColor = getRandomBrightColor(); | ||
}); | }); | ||
} | } | ||
Line 43: | Line 42: | ||
function changeBackgroundGradually() { | function changeBackgroundGradually() { | ||
setInterval(() => { | setInterval(() => { | ||
setBackgroundColors(); | |||
}, 5000); // Change every 5 seconds | }, 5000); // Change every 5 seconds | ||
} | } | ||
// Initialize the process | // Initialize the process | ||
setBackgroundColors(); | |||
changeBackgroundGradually(); | changeBackgroundGradually(); |
Revision as of 10:12, 30 September 2024
/* All JavaScript here will be loaded for users of the Vector skin */
//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 body
document.body.style.backgroundColor = getRandomBrightColor();
// Set for .vector-pinned-container
const pinnedContainer = document.querySelector('.vector-pinned-container');
if (pinnedContainer) pinnedContainer.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();