写点什么

跟小海一起看下雪——用 HTML、CSS 和 JS 实现简单的下雪特效

  • 2021 年 12 月 15 日
  • 本文字数:1362 字

    阅读完需:约 4 分钟

跟小海一起看下雪——用HTML、CSS和JS实现简单的下雪特效

很多南方的小伙伴可能没怎么见过或者从来没见过下雪,今天我给大家带来一个小 Demo,模拟了下雪场景,首先让我们看一下运行效果


可以点击看看在线运行👉 http://haiyong.site/xiaxue



首先看看项目结构,一张雪花图片,一个.html 文件和 jquery-1.4.2.js



用到的雪花图片我放在这里了,或者可以直接用我上传到自己网站上的图片地址:http://haiyong.site/wp-content/uploads/2021/12/snow.png 开局一张图,内容全靠 JS。


HTML 代码

下面这是 html 里的内容,没啥东西


<!DOCTYPE html><html>  <head>    <meta charset="utf-8">    <title>海拥🌊 | 雪一片一片</title>    <meta name="viewport" content="width=device-width,user-scalable=no">    <meta name="keywords" content="雪一片一片" />    <meta name="description" content="工具 | 雪一片一片;立志打造一个拥有100个小游戏的摸鱼网站。Made By Haiyong,技术支持——海拥" />     <meta name="author" content="海拥(http://haiyong.site/moyu)" />    <meta name="copyright" content="海拥(http://haiyong.site/moyu)" />    <link rel="icon" href="http://haiyong.site/wp-content/uploads/2021/07/cropped-59255587-1-192x192.jpg" sizes="192x192" />    <style type="text/css">      body{        background-color: #000000;        margin: 0;/* 去掉自带的外边距 */      }      img{        position: absolute;      }    </style>  </head>  <body>    <script src="js/jquery-1.4.2.js" type="text/javascript" charset="utf-8"></script>      </body></html>
复制代码

JS 代码:

首先开启定时器添加雪花图片,这里的<img src='images/snow.png'>可以改成<img src='http://haiyong.site/wp-content/uploads/2021/12/snow.png'>


setInterval(function(){var img = $("<img src='images/snow.png'>");$("body").append(img);
复制代码


这里设置雪花的尺寸为 10-20px,下面的公式即表示(0-10 + 10)px


var size = parseInt(Math.random()*11)+10;img.css("width",size+"px");
复制代码


得到屏幕宽度


var w = $(window).width();
复制代码


取值范围应该是 0-屏幕宽度-雪花宽度


var left =parseInt(Math.random()*(w-size));
复制代码


把得到的随机 1eft 给到图片


img.css("left",left+"px");
复制代码


添加雪花移动的动画,得到雪花移动的距离 = 屏幕高度-雪花尺寸


var top = $(window).height()-size;
复制代码


下面注释中的代码是用来清除缓存的,可加可不加。


img.animate({"top":top+"px"},size*100)/* .fadeOut(1000,function(){  //当动画完成时执行此代码,清除缓存  img.remove();  //console.log($("img").length);}); */},10)
复制代码


取消注释就会看到落下的雪会消失,如下图所示



喜欢看积雪就可以把它注释掉,预览效果像下面这样



到这里我们要实现的效果就完成了,如果运行时间过长可能会导致内存占用过多造成卡顿现象,可以将 html 代码中的最后一段注释里的内容取消注释,这样到下面的积雪就会慢慢淡出并且 remove 删除了,不过我觉得积雪也挺好看的,就没让它融化,像下面这样👇



如果还有什么问题可以私信我,后续我也还会一直更新

源码获取方式:

可以关注作者公众号【海拥】回复【下雪特效】免费获取


后面我还会持续更新类似免费好玩的 H5 小游戏、Java 小游戏、好玩、实用的项目和软件等等


最后,不要忘了❤或📑支持一下哦

发布于: 2021 年 12 月 15 日阅读数: 16
用户头像

公众号:海拥 2021.11.29 加入

【个人网站】haiyong.site 【软件技能】Java,Python,JS 【兴趣爱好】学习使我快乐,编程令我永生 【个人称号】HDZ核心组成员,CSDN原力作者

评论

发布
暂无评论
跟小海一起看下雪——用HTML、CSS和JS实现简单的下雪特效