IXL

IXL AWARDS THING

  1. // ==UserScript==
  2. // @name IXL
  3. // @namespace Violentmonkey Scripts
  4. // @match https://www.ixl.com/awards/*
  5. // @grant none
  6. // @description IXL AWARDS THING
  7. // @icon https://www.ixl.com/ixl-favicon.png
  8. // @version 1.1
  9. // @author DankamaTank
  10. // ==/UserScript==
  11. (function() {
  12. const options = {
  13. 'text': "'" ,
  14. 'size': 150,
  15. 'weight': 800,
  16. 'speed': 2500
  17. }
  18.  
  19. for (let i = 0; i < 100; i++) {
  20. let element = document.createElement('div');
  21. element.className = 'floatingElements'
  22. element.style = `width: 100%; height: 100%; margin: auto; pointer-events: none; user-select: none; font-weight: ${options.weight}; font-size: ${options.size}px; position: absolute; z-index: 2147483647; transition: all ${options.speed/1000}s linear; transform-origin: center center; text-align: center;`;
  23. element.textContent = options.text;
  24.  
  25. document.body.appendChild(element);
  26. }
  27.  
  28. setInterval(() => {
  29. let elements = document.getElementsByClassName('floatingElements');
  30. for (let i = 0; i < elements.length; i++) {
  31. elements[i].style.color = color();
  32. elements[i].style.opacity = Math.random() + .1;
  33. elements[i].style.transform = `rotate(${random(0,360)}deg) translate(${random(-1000,1000)}px, ${random(-500,500)}px) translate3d(${random(0,200)}px,${random(0,200)}px,${random(0,200)}px) rotateX(${random(0,360)}deg) rotateY(${random(0,360)}deg) rotateZ(${random(0,360)}deg)`;
  34. }
  35. }, options.speed);
  36.  
  37. function random(min, max) { return Math.floor(Math.random() * (max - min) + min); }
  38.  
  39. function color() { return ['red', 'orange', 'yellow', 'green', 'blue', 'purple', 'pink'][Math.floor(Math.random() * 7)]; }
  40. })();