javascript實(shí)現(xiàn)雪花飄落效果
圣誕節(jié)快到了相信許多公司的前端都在會(huì)收到一個(gè)需求,那就是做一個(gè)關(guān)于圣誕節(jié)的專題,而這個(gè)專題為了應(yīng)對圣誕節(jié)這個(gè)主題都會(huì)加上雪花飄呀飄這個(gè)小動(dòng)畫,當(dāng)然我們公司也不例外,下面就是本人用js寫的一小段雪花秀啦:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"> <script src="jquery-1.8.3.min.js"></script> </head> <style> html{ max-width: 720px; } body{ width: 100%; height: 100%; margin: 0 auto; overflow-x: hidden; } .snow{ width: 100%; height: 100%; background: pink; overflow: hidden; } .snow_img{ position: absolute; top: -50px; margin-left: 1px; } </style> <body> <div class="snow"></div> <script> $(function(){ $('body').css("height",$(window).height()) var wid=$(".snow").width(); var html_snow="<img src='snow.png' class='snow_img'>"; setInterval(function(){$(".snow").append(html_snow);snowFlow();},100); function snowFlow(){ $(".snow_img").each(function(index){ var snow_time=(Math.random()*10+4)*1000; var wid_snow=Math.floor(Math.random()*40+5)+'px'; var float_left=Math.random()*wid*2-wid+"px"; var wid_left=Math.random()*wid+"px"; if( $(this).css("margin-left")==1+"px"){ $(this).css("margin-left",wid_left); } if($(this).width()==0 || $(this).width()==50 ){ $(this).width(wid_snow); } $(this).animate({top:800+"px",left:float_left,},snow_time); if($(this).offset().top==800){ $(this).remove(); } }) } }); </script> </body> </html>
代碼很簡單,都是運(yùn)動(dòng)用js的一些基礎(chǔ)知識(shí)點(diǎn)做出來的,主要是隨機(jī)數(shù)和一些判斷。就這么簡單。代碼不是重點(diǎn),重點(diǎn)是思維,有了思維你自然就可以做出來了。下面是效果圖:
想看動(dòng)態(tài)效果的自己復(fù)制代碼運(yùn)行就可以了。歡迎給優(yōu)化建議。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
可拖動(dòng)可改變大小div的實(shí)現(xiàn)代碼
可拖動(dòng)可改變大小div的實(shí)現(xiàn)代碼,非常不錯(cuò)的應(yīng)用,大家可以參考下。2009-08-08淺談javascript獲取元素transform參數(shù)
本文主要給大家簡單介紹了javascript獲取元素的transform參數(shù)的方法以及個(gè)人的理解,記錄下來分享給大家。2015-07-07原生JS 實(shí)現(xiàn)的input輸入時(shí)表格過濾操作示例
這篇文章主要介紹了原生JS 實(shí)現(xiàn)的input輸入時(shí)表格過濾操作,結(jié)合實(shí)例形式分析了JavaScript基于頁面元素遍歷、運(yùn)算、判斷實(shí)現(xiàn)的表格過濾相關(guān)操作技巧,需要的朋友可以參考下2019-08-08javascript省市區(qū)三級(jí)聯(lián)動(dòng)下拉框菜單實(shí)例演示
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)下拉框菜單很詳細(xì)的代碼,解決了大家實(shí)現(xiàn)javascript省市區(qū)三級(jí)聯(lián)動(dòng)下拉框菜單的問題,感興趣的小伙伴們可以參考一下2015-11-11微信小程序身份證驗(yàn)證方法實(shí)現(xiàn)詳解
這篇文章主要介紹了微信小程序身份證驗(yàn)證方法實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-06-06vite打包優(yōu)化vite-plugin-compression的使用示例詳解
這篇文章主要介紹了vite打包優(yōu)化vite-plugin-compression的使用,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09