???? 作者主页:​​海拥​

???? 作者简介:????全栈领域优质创作者、????HDZ核心组成员

???? 粉丝福利:​​粉丝群​​ 每周送6~9本书,不定期送各种小礼品,​​往期获奖公布​

愿今年对你我来说都是好日子

2022预祝各位小伙伴们新年快乐,这篇文章是我2022年的第一篇文章,希望给大家带来一些好玩有趣的东西

将给大家带来一些有趣的新春主题文章

  • 跟小海一起看下雪——用HTML、CSS和JS实现简单的下雪特效
  • HTML、CSS和JS实现2022年新年倒数计时器
  • HTML、CSS和JS实现烟花
  • 移动端响应式设计
  • ......

使用HTML、CSS和JS实现简单的下雪特效

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

可以点击看看在线运行???? ​​haiyong.site/xiaxue​​​跟小海一起看下雪——用HTML、CSS和JS实现简单的下雪特效_css首先看看项目结构,一张雪花图片,一个.html文件和 jquery-1.4.2.js跟小海一起看下雪——用HTML、CSS和JS实现简单的下雪特效_CSS_02

用到的雪花图片我放在这里了,或者可以直接用我上传到自己网站上的图片地址:​​haiyong.site/wp-content/…​​​ 开局一张图,内容全靠JS。跟小海一起看下雪——用HTML、CSS和JS实现简单的下雪特效_css_03

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 w = $(window).width();

得到屏幕宽度

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、CSS和JS实现简单的下雪特效_css_04喜欢看积雪就可以把它注释掉,预览效果像下面这样

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

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

何不送给Ta一份程序员的浪漫 [代码]

如果你在复制上述代码时遇到困难,可以通过以下方式来创建此项目

有很多初学者不知道怎么将这些所有代码放在一起。对于新手我已经把所有的代码放在一起了。关注公众号【海拥】回复【下雪】获取完整源码。

希望通过本教程,你也可以使用 HTML5实现简单的下雪特效。

作者立志打造一个拥有100个小游戏/工具的​​摸鱼网站​​,更新进度:50/100

我已经写了很长一段时间的技术博客,这是我的一篇关于如何使用HTML、CSS和JS实现简单的下雪特效。我喜欢通过文章分享技术与快乐。你可以访问我的博客: ​​juejin.cn/user/204034…​​ 以了解更多信息。希望你们会喜欢!????

???? 欢迎大家在评论区提出意见和建议!????