-
Notifications
You must be signed in to change notification settings - Fork 3
/
fyu.min.js
1 lines (1 loc) · 2.02 KB
/
fyu.min.js
1
function sleep(ms){return new Promise((resolve=>setTimeout(resolve,ms)))}function getRandomInt(min,max){min=Math.ceil(min);max=Math.floor(max);return Math.floor(Math.random()*(max-min)+min)}var elems;async function shiftHorizontalRandom(){while(true){for(elem in elems){elems[elem].style.transform="none";elems[elem].style.transform=`translateX(${getRandomInt(-250,100)}px)`}await sleep(250)}}async function shiftVerticalRandom(){while(true){for(elem in elems){elems[elem].style.transform="none";elems[elem].style.transform=`translateY(${getRandomInt(-250,100)}px)`}await sleep(250)}}async function shiftRandom(){shiftHorizontalRandom();shiftVerticalRandom()}async function rotateRandom(){while(true){for(elem in elems){elems[elem].style.transform=`rotate(${getRandomInt(0,359)}deg)`}await sleep(250)}}async function runAway(){for(elem in elems){elems[elem].addEventListener("mouseover",moveFromMouse)}while(true){await sleep(250)}}async function moveFromMouse(e){e.target.style.transform="none";e.target.style.transform=`translate(${getRandomInt(-150,50)}px, ${getRandomInt(-150,50)}px)`}async function colorsRandom(){while(true){for(elem in elems){let currentBack=elems[elem].style.backgroundColor;let currentColor=elems[elem].style.color;elems[elem].animate([{backgroundColor:currentBack,color:currentColor},{backgroundColor:`rgb(${getRandomInt(0,256)},${getRandomInt(0,256)},${getRandomInt(0,256)})`,color:`rgb(${getRandomInt(0,256)},${getRandomInt(0,256)},${getRandomInt(0,256)})`},{backgroundColor:currentBack,color:currentColor}],{duration:2500,easing:"ease-in-out",iterations:1})}await sleep(2500)}}async function opacityRandom(){while(true){for(elem in elems){elems[elem].animate([{opacity:1},{opacity:Math.random()*2},{opacity:1}],{duration:5e3,easing:"ease-in-out",iterations:1})}await sleep(5e3)}}function loadElems(){elems=Array.from(document.getElementsByTagName("*"));for(elem in elems){if(elems[elem].classList.contains("dontNuke")){delete elems[elem]}}}async function makeItHell(){loadElems();shiftRandom();runAway();colorsRandom();opacityRandom()}