小編給大家分享一下HTML+CSS+JS如何實現(xiàn)雪花飄揚,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)建站專注于姑蘇企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城網(wǎng)站建設(shè)。姑蘇網(wǎng)站建設(shè)公司,為姑蘇等地區(qū)提供建站服務(wù)。全流程按需策劃設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
很多南方的小伙伴可能沒怎么見過或者從來沒見過下雪,今天我給大家?guī)硪粋€小Demo,模擬了下雪場景,首先讓我們看一下運行效果
首先看看項目結(jié)構(gòu),一張雪花圖片,一個.html文件和 jquery-1.4.2.js
用到的雪花圖片我放在這里了,或者可以直接用圖片地址:/upload/otherpic55/61dea8bfbe598211.png 開局一張圖,內(nèi)容全靠JS。
下面這是 html 里的內(nèi)容,沒啥東西
海擁| 雪一片一片
首先開啟定時器添加雪花圖片,這里的可以改成
setInterval(function(){ var img = $(""); $("body").append(img);
這里設(shè)置雪花的尺寸為10-20px,下面的公式即表示(0-10 + 10)px
var size = parseInt(Math.random()*11)+10; img.css("width",size+"px");
得到屏幕寬度
var w = $(window).width();
取值范圍應(yīng)該是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(){ //當(dāng)動畫完成時執(zhí)行此代碼,清除緩存 img.remove(); //console.log($("img").length); }); */ },10)
取消注釋就會看到落下的雪會消失,如下圖所示
喜歡看積雪就可以把它注釋掉,預(yù)覽效果像下面這樣
到這里我們要實現(xiàn)的效果就完成了,如果運行時間過長可能會導(dǎo)致內(nèi)存占用過多造成卡頓現(xiàn)象,可以將html代碼中的最后一段注釋里的內(nèi)容取消注釋,這樣到下面的積雪就會慢慢淡出并且remove刪除了,不過我覺得積雪也挺好看的,就沒讓它融化,像下面這樣:
看完了這篇文章,相信你對“HTML+CSS+JS如何實現(xiàn)雪花飄揚”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!