js制作下雪特效❉

通过JS实现屏幕飘雪

在这里插入图片描述
同理也可以做出红包雨效果
在这里插入图片描述

示例代码部分

<script>
  //创建雪花元素
  function snow() {
    //获取视窗的宽高
    var width = window.innerWidth;
    var height = window.innerHeight;

    var snow = document.createElement("div");             //创建元素

    //初始化雪花样式
    size = Math.random() * 15 + 10;                          //随机生成雪花大小
    snow.style.width = size + "px";
    snow.style.height = size + "px";
    snow.style.background = "url(img/雪花" + Math.floor((Math.random()*6)+1) + ".png) no-repeat";   //1-6随机选择雪花的图片
    // snow.style.background = "url(./雪花.png) no-repeat";
    snow.style.backgroundSize = '100% 100%';
    snow.style.position = "fixed";                        //元素的位置相对于浏览器窗口是固定位置,即使窗口是滚动的它也不会移动
    snow.style.filter = "blur(1px)";                      //给图片设置高斯模糊
    snow.style.left = Math.random() * width + 'px';         //随机生成雪花的初始位置
    snow.style.top = "10px";
    snow.style.opacity = parseInt(Math.random()*10)/2;   //随机生成雪花的透明度

    //向body添加元素
    document.body.appendChild(snow);

    //创建定时器,每30ms雪花下落一次
    var timer = setInterval(function () {
      snow.style.top = parseInt(snow.style.top) + 3 + 'px';     //每次下落3px

      //当雪花到达底部后清除元素
      if (parseInt(snow.style.top) >= height) {
        clearInterval(timer);
        snow.parentNode.removeChild(snow)
      }
    }, 30)
  }

  //页面加载完成执行函数
  window.onload = function play() {
    //创建定时器,每300ms生成一朵雪花
    setInterval(function () {
      snow()
    }, 300)
  }
</script>
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值