summaryrefslogtreecommitdiffstats
path: root/content/script.js
blob: fd275b6306dc3fce8f1a030ba841a6ef16a3c85d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function createSnowFlake() {
    setTimeout(() => createSnowFlake(), 50 / Math.log10(window.innerWidth / 1000 + 1));

    if (document.hidden) {
        return;
    }

	const snowFlake = document.createElementNS("http://www.w3.org/2000/svg", "svg");
    const snowFlakeInner = document.createElementNS("http://www.w3.org/2000/svg", "use");
    const aniDuration = (Math.random() * 3 + 2) * 1000;

    snowFlakeInner.setAttribute("href", "/symbols.svg#icon-asterisk");

    snowFlake.classList.add("o-icon", "o-icon--snow");
    snowFlake.setAttribute("aria-hidden", "true");

	snowFlake.style.fontSize = Math.random() * 0.5 + 0.7 + 'em';
	snowFlake.style.left = Math.random() * 100 + '%';
	snowFlake.style.animationDuration = aniDuration + 'ms';
	snowFlake.style.opacity = Math.random();

    setTimeout(() => snowFlake.remove(), aniDuration);

    snowFlake.appendChild(snowFlakeInner);
	document.body.appendChild(snowFlake);
}

createSnowFlake();