登录  /  注册
首页 > web前端 > css教程 > 正文

HTML+CSS+JS实现雪花飘扬(代码分享)

青灯夜游
发布: 2022-01-12 18:24:16
转载
2971人浏览过

使用html+css+js如何实现下雪特效?下面本篇文章给大家分享一个html+css+js实现雪花飘扬的示例,希望对大家有所帮助。

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

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

1.gif

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

2.png

用到的雪花图片我放在这里了,或者可以直接用图片地址:https://img.php.cn/upload/article/000/000/024/61dea8bfbe598211.png 开局一张图,内容全靠JS。

HTML+CSS+JS实现雪花飘扬(代码分享)

HTML代码

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

nbsp;html>

	
		<meta><title>海拥| 雪一片一片</title><meta><meta><meta> 
		<meta><meta><link><style>
			body{
				background-color: #000000;
				margin: 0;/* 去掉自带的外边距 */
			}
			img{
				position: absolute;
			}
		</style><script></script>
登录后复制

JS代码:

首先开启定时器添加雪花图片,这里的<img src="'images/snow.png'" alt="HTML+CSS+JS实现雪花飘扬(代码分享)" >可以改成<img src="'http://haiyong.site/wp-content/uploads/2021/12/snow.png'" alt="HTML+CSS+JS实现雪花飘扬(代码分享)" >

setInterval(function(){
var img = $("<img  src=&#39;images/snow.png&#39; alt="HTML+CSS+JS实现雪花飘扬(代码分享)" >");
$("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)
登录后复制

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

4.gif

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

5.gif

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

6.gif

(学习视频分享:css视频教程

以上就是HTML+CSS+JS实现雪花飘扬(代码分享)的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:掘金社区网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号