首页 >web前端 >css教程 >HTML+CSS+JS实现雪花飘扬(代码分享)

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

青灯夜游
青灯夜游转载
2022-01-12 18:24:163304浏览

使用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 里的内容,没啥东西

76c82f278ac045591c9159d381de2c57
100db36a723c770d327fc0aef2ce13b1
	93f0f5c25f18dab9d176bd4f6de5d30e
		4d0d87937f6c83b675e896c64d3eb7c9
		b2386ffb911b14667cb8f0f91ea547a7海拥| 雪一片一片6e916e0f7d1e588d4f442bf645aedb2f
		cbfc74f683118f56a5c5ef32c7788053
		4b9d31bf04f046ff46dadcaa6cdc0205
		7a314e7d5908ebd48196a36cc0b36cb9 
		86de897a34e85ac782e2237222bc5707
		4f8a2c51639e76dd0f338c96d529c466
		663debe4e5f373b1bb1d0a357308aa88
		46d5fe1c7617e3914f214aaf043f4ccf
			body{
				background-color: #000000;
				margin: 0;/* 去掉自带的外边距 */
			}
			img{
				position: absolute;
			}
		531ac245ce3e4fe3d50054a55f265927
	9c3bca370b5104690d9ef395f2c5f8d1
	6c04bd5ca3fcae76e30b72ad730ca86d
		e39fa2be17c432f9a58e46000ac5d35f2cacc6d41bbb37262a98f745aa00fbf0		
	36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e

JS代码:

首先开启定时器添加雪花图片,这里的9fac234828f862a3254406576f342316可以改成6c7522775257bd170c5507ffa9c33c2d

setInterval(function(){
var img = $("<img src=&#39;images/snow.png&#39;>");
$("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中文网其他相关文章!

声明:
本文转载于:juejin.cn。如有侵权,请联系admin@php.cn删除