MediaWiki:Common.js: Difference between revisions
Appearance
No edit summary Tag: Reverted |
No edit summary Tag: Manual revert |
||
| (One intermediate revision by the same user not shown) | |||
| Line 3: | Line 3: | ||
const chars = el.textContent.split(''); | const chars = el.textContent.split(''); | ||
const total = chars.length; | const total = chars.length; | ||
el.innerHTML = chars.map((c, i) => { | el.innerHTML = chars.map((c, i) => { | ||
const hue = Math.round((i / total) * 360); | const hue = Math.round((i / total) * 360); | ||
const rainbowDelay = -((i / total) * 3).toFixed(2); | const rainbowDelay = -((i / total) * 3).toFixed(2); | ||
const waveDelay = ((i / total) * 1).toFixed(2); | const waveDelay = ((i / total) * 1).toFixed(2); | ||
return `<span style="--hue:${hue}; --delay:${rainbowDelay}s; --wave-delay:${waveDelay}s">${c === ' ' ? ' ' : c}</span>`; | |||
}).join(''); | }).join(''); | ||
} | } | ||
Latest revision as of 17:26, 9 March 2026
/* Any JavaScript here will be loaded for all users on every page load. */
function applyEffects(el) {
const chars = el.textContent.split('');
const total = chars.length;
el.innerHTML = chars.map((c, i) => {
const hue = Math.round((i / total) * 360);
const rainbowDelay = -((i / total) * 3).toFixed(2);
const waveDelay = ((i / total) * 1).toFixed(2);
return `<span style="--hue:${hue}; --delay:${rainbowDelay}s; --wave-delay:${waveDelay}s">${c === ' ' ? ' ' : c}</span>`;
}).join('');
}
$(document).ready(function() {
document.querySelectorAll('.rainbow, .wavy').forEach(applyEffects);
});