随机气泡案例

最近一直在学习框架,原生js方法及使用忘记的差不多了,温习一下
话不多说直接代码


 
 
   
   
   
   
  1. <html>
  2. <head>
  3. <meta charset="UTF-8">
  4. <title> title>
  5. <style>
  6. * {
  7. margin: 0;
  8. padding: 0;
  9. }
  10. body {
  11. overflow: hidden;
  12. /*溢出隐藏*/
  13. /*解决塌陷*/
  14. /*清除浮动*/
  15. }
  16. div{
  17. position: absolute;
  18. border-radius: 50%;
  19. }
  20. style>
  21. head>
  22. <body>
  23. body>
  24. <script>
  25. for ( var i= 0; i< 40; i++) {
  26. var d = document.createElement( "div");
  27. var cm = rand( 10, 150);
  28. d.style.width = cm + 'px';
  29. d.style.height = cm + 'px';
  30. d.style.left = rand( 0, window.innerWidth -150) + 'px';
  31. d.style.top = rand( 0, window.innerHeight -150) + 'px';
  32. var r = rand( 0, 255);
  33. var g = rand( 0, 255);
  34. var b = rand( 0, 255);
  35. var color = `rgb(${r},${g},${b})`;
  36. d.style.backgroundColor = color;
  37. var op = Math.random();
  38. d.style.opacity = op;
  39. // 手动为div创造一个属性speed
  40. d.speedOpacity = 0.01;
  41. if ( 0.5 - Math.random() > 0) {
  42. d.speedOpacity = -0.01;
  43. }
  44. d.speedX = rand( 2, 4);
  45. if ( 0.5 - Math.random() > 0) {
  46. d.speedX *= -1;
  47. }
  48. d.speedY = rand( 2, 4);
  49. if ( 0.5 - Math.random() > 0) {
  50. d.speedY *= -1;
  51. }
  52. document.body.appendChild(d);
  53. }
  54. function rand(min,max) {
  55. return Math.round( Math.random() * (max-min) + min);
  56. }
  57. function changeOpacityAndPosition() {
  58. var ds = document.getElementsByTagName( "div");
  59. for ( var i= 0; i
  60. var d = ds[i];
  61. var op = d.style.opacity;
  62. op = parseFloat(op);
  63. op += d.speedOpacity;
  64. if (op>= 1 || op <= 0) {
  65. d.speedOpacity *= -1;
  66. }
  67. d.style.opacity = op;
  68. var x = d.offsetLeft + d.speedX;
  69. var y = d.offsetTop + d.speedY;
  70. if (x < 0) {
  71. x = 0;
  72. d.speedX *= -1;
  73. } else if (x > window.innerWidth-d.offsetWidth) {
  74. x = window.innerWidth-d.offsetWidth;
  75. d.speedX *= -1;
  76. }
  77. if (y < 0) {
  78. y = 0;
  79. d.speedY *= -1;
  80. } else if (y > window.innerHeight-d.offsetHeight) {
  81. y = window.innerHeight-d.offsetHeight;
  82. d.speedY *= -1;
  83. }
  84. d.style.left = x + 'px';
  85. d.style.top = y + 'px';
  86. }
  87. }
  88. setInterval( function(){
  89. changeOpacityAndPosition()
  90. }, 30);
  91. script>
  92. html>

可以通过改变i的值来改变气泡个数。目前定义的是40

效果:

个人觉得挺好看的,电脑闲置的时候可以把整个网页打开,然后F11全屏,作为桌面背景。

还有,由于是网页所以不能直接做成桌面背景,有人说可以截图,截成视频,拜托这些完全是随机的,弄成视频就不是随机的了好吧-_-!。当然如果你有什么办法把网页做成桌面背景,欢迎给我留言。

还有本次代码是本校实训时的成果,并不是完全靠个人做出来的。如有雷同,不胜惶恐!

转载自:https://blog.csdn.net/Lee_1310/article/details/89048898

你可能感兴趣的:(随机气泡案例)