HTML+CSS+JS實現雪花飄揚(程式碼分享)

2022-01-12 19:00:19
使用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程式碼

下面這是 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)

取消註釋就會看到落下的雪會消失,如下圖所示

4.gif

喜歡看積雪就可以把它註釋掉,預覽效果像下面這樣

5.gif

到這裡我們要實現的效果就完成了,如果執行時間過長可能會導致記憶體佔用過多造成卡頓現象,可以將html程式碼中的最後一段註釋裡的內容取消註釋,這樣到下面的積雪就會慢慢淡出並且remove刪除了,不過我覺得積雪也挺好看的,就沒讓它融化,像下面這樣:

6.gif

(學習視訊分享:)

以上就是HTML+CSS+JS實現雪花飄揚(程式碼分享)的詳細內容,更多請關注TW511.COM其它相關文章!