日本阿v片在线播放免费,成人国产片视频在线观看,日韩黄片毛片在线观看,一区亚洲电影,琪琪秋霞午夜av影视在线,中文字幕在线视频不卡,最新大伊香蕉精品视频在线,亚洲AV无码日韩一区二区乱

      JS實現動態星空背景

      2019-10-28    seo達人



      這里我截取的是一個圖片,實際上是會動的。廢話不多說,上代碼。

      HTML:



      <canvas id="canvas"></canvas>

      1

      CSS:



      /css reset /

      body,p,div,ol,ul,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,iframe,nav {

          margin: 0;

          padding: 0;

      }

      html,body {

          width: 100%;

          height: 100%;

      }

      body {

          font: 14px Microsoft YaHei;

          -webkit-text-size-adjust:100%;

          -moz-user-select: none;

          -webkit-user-select: none;

          user-select: none;

          position: relative;

          background: #000;

      }


      canvas {

          width: 100%;

          height: 100%;

          display: block;

          opacity: .8;

      }





      // 音量大小,0.01-1





      //宇宙

      var canvas = document.getElementById('canvas'),

      ctx = canvas.getContext('2d'),

      w = canvas.width = window.innerWidth,

      h = canvas.height = window.innerHeight,



      hue = 217,

      stars = [],

      count = 0,

      maxStars = 1100;                //星星數量,默認1300

      var canvas2 = document.createElement('canvas'),

      ctx2 = canvas2.getContext('2d');

      canvas2.width = 100;

      canvas2.height = 100;

      var half = canvas2.width / 2,

      gradient2 = ctx2.createRadialGradient(half, half, 0, half, half, half);

      gradient2.addColorStop(0.025, '#CCC');

      gradient2.addColorStop(0.1, 'hsl(' + hue + ', 61%, 33%)');

      gradient2.addColorStop(0.25, 'hsl(' + hue + ', 64%, 6%)');

      gradient2.addColorStop(1, 'transparent');



      ctx2.fillStyle = gradient2;

      ctx2.beginPath();

      ctx2.arc(half, half, half, 0, Math.PI 2);

      ctx2.fill();



      // End cache

      function random(min, max) {

          if (arguments.length < 2) {

              max = min;

              min = 0;

          }



          if (min > max) {

              var hold = max;

              max = min;

              min = hold;

          }



          return Math.floor(Math.random()
      (max - min + 1)) + min;

      }



      function maxOrbit(x, y) {

          var max = Math.max(x, y),

          diameter = Math.round(Math.sqrt(max max + max max));

          return diameter / 2;

          //星星移動范圍,值越大范圍越小,

      }



      var Star = function() {



          this.orbitRadius = random(maxOrbit(w, h));

          this.radius = random(60, this.orbitRadius) / 10;       //星星大小,值越大星星越小,默認8

          

          this.orbitX = w / 2;

          this.orbitY = h / 2;

          this.timePassed = random(0, maxStars);

          this.speed = random(this.orbitRadius) / 80000;        //星星移動速度,值越大越慢,默認5W

          

          this.alpha = random(2, 10) / 10;



          count++;

          stars[count] = this;

      }



      Star.prototype.draw = function() {

          var x = Math.sin(this.timePassed) this.orbitRadius + this.orbitX,

          y = Math.cos(this.timePassed)
      this.orbitRadius + this.orbitY,

          twinkle = random(10);



          if (twinkle === 1 && this.alpha > 0) {

              this.alpha -= 0.05;

          } else if (twinkle === 2 && this.alpha < 1) {

              this.alpha += 0.05;

          }



          ctx.globalAlpha = this.alpha;

          ctx.drawImage(canvas2, x - this.radius / 2, y - this.radius / 2, this.radius, this.radius);

          this.timePassed += this.speed;

      }



      for (var i = 0; i < maxStars; i++) {

          new Star();

      }



      function animation() {

          ctx.globalCompositeOperation = 'source-over';

          ctx.globalAlpha = 0.5;                                 //尾巴

          ctx.fillStyle = 'hsla(' + hue + ', 64%, 6%, 2)';

          ctx.fillRect(0, 0, w, h)



          ctx.globalCompositeOperation = 'lighter';

          for (var i = 1,

          l = stars.length; i < l; i++) {

              stars[i].draw();

          };



          window.requestAnimationFrame(animation);

      }



      animation();

      藍藍設計m.jjddy.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計  cs界面設計  ipad界面設計  包裝設計  圖標定制  用戶體驗 、交互設計、 網站建設 平面設計服務

      日歷

      鏈接

      個人資料

      藍藍設計的小編 http://m.jjddy.com

      存檔