Saber 酱的抱枕

Fly me to the moon

02/17
2015
学习

从139邮箱扒下来飘雪效果

之前我已经搜集了两种雪花飘落的效果:

第一种 雪花会飘满整个网页长度,占用资源严重,不推荐使用
第二种 雪花只飘满网页当前可视区域,即只会覆盖在当前一屏上,不太占资源。

这次找到的第三种,原理和第二种类似,代码如下:

<script>
     var snow = function() {
    if(1==1) {
      $("body").append('<canvas id="christmasCanvas" style="top: 0px; left: 0px; z-index: 5000; position: fixed; pointer-events: none;"></canvas>');
      var b = document.getElementById("christmasCanvas"), a = b.getContext("2d"), d = window.innerWidth, c = window.innerHeight;
      b.width = d;
      b.height = c;
      for(var e = [], b = 0;b < 70;b++) {
        e.push({x:Math.random() * d, y:Math.random() * c, r:Math.random() * 4 + 1, d:Math.random() * 70})
      }
      var h = 0;
      window.intervral4Christmas = setInterval(function() {
        a.clearRect(0, 0, d, c);
        a.fillStyle = "rgba(255, 255, 255, 0.6)";
        a.shadowBlur = 5;
        a.shadowColor = "rgba(255, 255, 255, 0.9)";
        a.beginPath();
        for(var b = 0;b < 70;b++) {
          var f = e[b];
          a.moveTo(f.x, f.y);
          a.arc(f.x, f.y, f.r, 0, Math.PI * 2, !0)
        }
        a.fill();
        h += 0.01;
        for(b = 0;b < 70;b++) {
          if(f = e[b], f.y += Math.cos(h + f.d) + 1 + f.r / 2, f.x += Math.sin(h) * 2, f.x > d + 5 || f.x < -5 || f.y > c) {
            e[b] = b % 3 > 0 ? {x:Math.random() * d, y:-10, r:f.r, d:f.d} : Math.sin(h) > 0 ? {x:-5, y:Math.random() * c, r:f.r, d:f.d} : {x:d + 5, y:Math.random() * c, r:f.r, d:f.d}
          }
        }
      }, 70)
    }
  }
  snow();
</script>

只是后两种效果看着都不怎么像真的雪花呢

从139邮箱扒下来飘雪效果

02/17
2015
学习

CSS的pointer-events属性

这个属性是我在查看飘雪效果的代码时发现的。

雪花所在的层拥有z-index属性,覆盖在整个页面上方。但是我们还需要对页面进行操作,所以用了pointer-events:none;这个属性,简言之,这个属性就是让当前对象被“无视”掉,其覆盖下的区域就像没有它存在一样,可以照常操作。

但是对于设置了pointer-events属性的对象自身来说,虽然鼠标可以穿透它,但键盘还是可能能focus到。关于此属性的较为全面的信息,可以参考此处

CSS的pointer-events属性

02/17
2015
游戏

第九大陆开出了永久萨满翅膀

第九大陆永久萨满翅膀

昨天深夜,就开了这一个箱子,结果给我了个好东西,永久萨满翅膀。没有标明到期时间就是永久的,而且永久的翅膀是白色的,比有期限的红色翅膀更漂亮。我作为一个外貌党,其实一直想有个白色翅膀的,但是我一发世界就有人出600要买,最后还是决定卖掉。最后给他650挂uu了,扣除手续费,最后我的实际收入628.5元。
Read More →

第九大陆开出了永久萨满翅膀