MediaWiki:Vector.js: Difference between revisions
No edit summary |
No edit summary |
||
Line 24: | Line 24: | ||
return `rgb(${r},${g},${b})`; | return `rgb(${r},${g},${b})`; | ||
} | } | ||
// Set the initial random background color | |||
// Set the initial random background color for all elements | |||
function setInitialBackgroundColor() { | function setInitialBackgroundColor() { | ||
const randomColor = getRandomBrightColor(); | const randomColor = getRandomBrightColor(); | ||
document. | // Set for body | ||
document.body.style.backgroundColor = randomColor; | |||
// Set for .vector-pinned-container | |||
const pinnedContainer = document.querySelector('.vector-pinned-container'); | |||
if (pinnedContainer) pinnedContainer.style.backgroundColor = randomColor; | |||
// Set for .vector-dropdown-content | |||
const dropdownContent = document.querySelectorAll('.vector-dropdown-content'); | |||
dropdownContent.forEach(element => { | |||
element.style.backgroundColor = randomColor; | |||
}); | |||
} | } | ||
// Gradually change the background color | |||
// Gradually change the background color for all elements | |||
function changeBackgroundGradually() { | function changeBackgroundGradually() { | ||
setInterval(() => { | setInterval(() => { | ||
const randomColor = getRandomBrightColor(); | const randomColor = getRandomBrightColor(); | ||
document. | |||
// Change for body | |||
document.body.style.backgroundColor = randomColor; | |||
// Change for .vector-pinned-container | |||
const pinnedContainer = document.querySelector('.vector-pinned-container'); | |||
if (pinnedContainer) pinnedContainer.style.backgroundColor = randomColor; | |||
// Change for .vector-dropdown-content | |||
const dropdownContent = document.querySelectorAll('.vector-dropdown-content'); | |||
dropdownContent.forEach(element => { | |||
element.style.backgroundColor = randomColor; | |||
}); | |||
}, 5000); // Change every 5 seconds | }, 5000); // Change every 5 seconds | ||
} | } | ||
// Initialize the process | // Initialize the process | ||
setInitialBackgroundColor(); | setInitialBackgroundColor(); | ||
changeBackgroundGradually(); | changeBackgroundGradually(); |
Revision as of 10:05, 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 setInitialBackgroundColor() {
const randomColor = getRandomBrightColor();
// Set for body
document.body.style.backgroundColor = randomColor;
// Set for .vector-pinned-container
const pinnedContainer = document.querySelector('.vector-pinned-container');
if (pinnedContainer) pinnedContainer.style.backgroundColor = randomColor;
// Set for .vector-dropdown-content
const dropdownContent = document.querySelectorAll('.vector-dropdown-content');
dropdownContent.forEach(element => {
element.style.backgroundColor = randomColor;
});
}
// Gradually change the background color for all elements
function changeBackgroundGradually() {
setInterval(() => {
const randomColor = getRandomBrightColor();
// Change for body
document.body.style.backgroundColor = randomColor;
// Change for .vector-pinned-container
const pinnedContainer = document.querySelector('.vector-pinned-container');
if (pinnedContainer) pinnedContainer.style.backgroundColor = randomColor;
// Change for .vector-dropdown-content
const dropdownContent = document.querySelectorAll('.vector-dropdown-content');
dropdownContent.forEach(element => {
element.style.backgroundColor = randomColor;
});
}, 5000); // Change every 5 seconds
}
// Initialize the process
setInitialBackgroundColor();
changeBackgroundGradually();