Advertisement
Mdbook

Untitled

Oct 11th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. data:text/html,
  2. <body onresize="changeMax();" style="width:100%;height:100%;margin:0;padding:0;"></body>
  3.  
  4. <script>
  5.  
  6. var maxTop = window.innerHeight - 40;
  7. var maxLeft = window.innerWidth - 40;
  8. function changeMax(){
  9. maxTop = window.innerHeight - 40;
  10. maxLeft = window.innerWidth - 40;
  11. }
  12.  
  13. var nBox = Math.floor(Math.random() * (40 - 15 + 1)) + 15;
  14. for (var i = 1;i<=nBox;i++){
  15. var cBox = document.createElement('img');
  16. var top = Math.floor(Math.random() * (maxTop - 0 + 1)) + 0;
  17. var left = Math.floor(Math.random() * (maxLeft - 0 + 1)) + 0;
  18. cBox.style = "width:40px;height:40px;position:absolute;top:"+top+"px;left:"+left+"px;background:black;";
  19. cBox.id = "box" + i;
  20. document.body.appendChild(cBox);
  21. }
  22.  
  23. for (var e = 1;e<=nBox;e++){
  24. var boxId = "box" + e;
  25. var xSpeed = (Math.floor(Math.random() * (4 - 1 + 1)) + 1);
  26. var ySpeed = (Math.floor(Math.random() * (4 - 1 + 1)) + 1);
  27. var xRate = ((Math.floor(Math.random() * (100 - 20 + 1)) + 20)/20)*xSpeed;
  28. var yRate = ((Math.floor(Math.random() * (100 - 20 + 1)) + 20)/20)*ySpeed;
  29. var xDir = Math.floor(Math.random() * (2 - 1 + 1)) + 1;
  30. var yDir = Math.floor(Math.random() * (2 - 1 + 1)) + 1;
  31. document.getElementById(boxId).addEventListener('click', function(){
  32. document.body.removeChild(document.getElementById(boxId));
  33. });
  34. doBox(boxId, xRate, yRate, xDir, yDir, xSpeed, ySpeed);
  35. }
  36.  
  37. function doBox(id, xRate, yRate, xd, yd, xS, yS){
  38. var xDir = xd;
  39. var ydir = yd;
  40. var box = document.getElementById(id);
  41. box.addEventListener('click', function(e){
  42. document.body.removeChild(box);
  43. });
  44. doInt(id, xRate, yRate, xDir, yDir, box, xS, yS);
  45. }
  46.  
  47. function doInt(id, xRate, yRate, xDir, yDir, box, xSpeed, ySpeed){
  48. setInterval(function(){
  49. var currentTop = box.style.top.split('px')[0];
  50. currentTop = +currentTop;
  51. var currentLeft = box.style.left.split('px')[0];
  52. currentLeft = +currentLeft;
  53.  
  54. for (var x = 1;x<=xRate;x++){
  55. if (xDir == 1){
  56. currentLeft--;
  57. } else if (xDir == 2){
  58. currentLeft++;
  59. }
  60. if (currentLeft >= maxLeft && xDir == 2){
  61. currentLeft = maxLeft;
  62. xDir = 1;
  63. xRate = ((Math.floor(Math.random() * (100 - 20 + 1)) + 20)/20)*xSpeed;
  64. } else if (currentLeft <= 0 && xDir == 1){
  65. currentLeft = 0;
  66. xDir = 2;
  67. xRate = ((Math.floor(Math.random() * (100 - 20 + 1)) + 20)/20)*xSpeed;
  68. }
  69.  
  70. }
  71.  
  72. for (var y = 1;y<=yRate;y++){
  73. if (yDir == 1){
  74. currentTop--;
  75. } else if (yDir == 2){
  76. currentTop++;
  77. }
  78. if (currentTop >= maxTop && yDir == 2){
  79. currentTop = maxTop;
  80. yDir = 1;
  81. yRate = ((Math.floor(Math.random() * (100 - 20 + 1)) + 20)/20)*ySpeed;
  82. } else if (currentTop <= 0 && yDir == 1){
  83. currentTop = 0;
  84. yDir = 2;
  85. yRate = ((Math.floor(Math.random() * (100 - 20 + 1)) + 20)/20)*ySpeed;
  86. }
  87.  
  88. }
  89. box.style.left = currentLeft + "px";
  90. box.style.top = currentTop + "px";
  91. }, 20);
  92. }
  93.  
  94. /*document.addEventListener('click', function(e){
  95. var x = e.clientX;
  96. var y = e.clientY;
  97. var endLoop = false;
  98. for (var q = 1;q<=nBox;q++){
  99. var box = document.getElementById('box' + q);
  100. if (box){
  101. var bX = box.style.left.split('px')[0];
  102. bX = +bX;
  103. var bY = box.style.top.split('px')[0];
  104. bY = +bY;
  105. if (((bX - 20) <= x && (bX + 20) >= x) && ((bY - 20) <= y && (bY + 20) >= y)){
  106. document.body.removeChild(box);
  107. }
  108. }
  109.  
  110. }
  111.  
  112. });*/
  113.  
  114.  
  115. </script>
  116. </body>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement