亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

用js代碼和插件實現wordpress雪花飄落效果的四種方法

2019-11-20 13:43:29
字體:
來源:轉載
供稿:網友

冬天到了,很多的博客空間都加了雪花的效果,于是去看了看他們的效果實現。有好幾個效果代碼,就拿過來了,有需要的朋友可以拿過去試試看。

雪花大圖片:

雪花素材圖片

效果代碼一

<script type="text/javascript" language="javascript">(function() {function k(a, b, c) {if (a.addEventListener) a.addEventListener(b, c, false);else a.attachEvent && a.attachEvent("on" + b, c)}function g(a) {if (typeof window.onload != "function") window.onload = a;else {var b = window.onload;window.onload = function() {b();a()}}}function h() {var a = {};for (type in {Top: "",Left: ""}) {var b = type == "Top" ? "Y": "X";if (typeof window["page" + b + "Offset"] != "undefined")a[type.toLowerCase()] = window["page" + b + "Offset"];else {b = document.documentElement.clientHeight ? document.documentElement: document.body;a[type.toLowerCase()] = b["scroll" + type]}}return a}function l() {var a = document.body,b;if (window.innerHeight) b = window.innerHeight;else if (a.parentElement.clientHeight) b = a.parentElement.clientHeight;else if (a && a.clientHeight) b = a.clientHeight;return b}function i(a) {this.parent = document.body;this.createEl(this.parent, a);this.size = Math.random() * 5 + 5;this.el.style.width = Math.round(this.size) + "px";this.el.style.height = Math.round(this.size) + "px";this.maxLeft = document.body.offsetWidth - this.size;this.maxTop = document.body.offsetHeight - this.size;this.left = Math.random() * this.maxLeft;this.top = h().top + 1;this.angle = 1.4 + 0.2 * Math.random();this.minAngle = 1.4;this.maxAngle = 1.6;this.angleDelta = 0.01 * Math.random();this.speed = 2 + Math.random()}var j = false;g(function() {j = true});var f = true;window.createSnow = function(a, b) {if (j) {var c = [],m = setInterval(function() {f && b > c.length && Math.random()< b * 0.0025 && c.push(new i(a)); ! f && !c.length && clearInterval(m);for (var e = h().top, n = l(), d = c.length - 1; d >= 0; d--)if (c[d]) if (c[d].top < e || c[d].top + c[d].size + 1 > e + n) {c[d].remove();c[d] = null;c.splice(d, 1)} else {c[d].move();c[d].draw()}},40);k(window, "scroll",function() {for (var e = c.length - 1; e >= 0; e--) c[e].draw()})} else g(function() {createSnow(a, b)})};window.removeSnow = function() {f = false};i.prototype = {createEl: function(a, b) {this.el = document.createElement("img");this.el.setAttribute("src", b + "雪花圖片的絕對鏈接地址");this.el.style.position = "absolute";this.el.style.display = "block";this.el.style.zIndex = "99999";this.parent.appendChild(this.el)},move: function() {if (this.angle < this.minAngle || this.angle > this.maxAngle)this.angleDelta = -this.angleDelta;this.angle += this.angleDelta;this.left += this.speed * Math.cos(this.angle * Math.PI);this.top -= this.speed * Math.sin(this.angle * Math.PI);if (this.left < 0) this.left = this.maxLeft;else if (this.left > this.maxLeft) this.left = 0},draw: function() {this.el.style.top = Math.round(this.top) + "px";this.el.style.left = Math.round(this.left) + "px"},remove: function() {this.parent.removeChild(this.el);this.parent = this.el = null}}})();createSnow("", 40);</script>

將以上面代碼直接復制粘貼到主題中的Header或者Footer文件中,如果你只想讓文章頁面顯示,那就直接添加到single就可以了。 下面把雪花圖片(所需的素材)提供給大家,snow小圖片: 需要大家上傳到自己的博客的當前使用的主題中,然后把代碼中的鏈接改成圖片所在的位置即可。效果如本頁面所示.

效果代碼二:

 <html><head><script>function start(){var array=new Array();var canvas=document.getElementById("mycanvas");var context=canvas.getContext("2d");for(var i=0;i<50;i++){var Showsnow=new showsnow();array.push(Showsnow);}time=setInterval(function (){context.clearRect(0,0,canvas.width,canvas.height);for(var i=0;i<array.length;i++){array[i].move();array[i].draw(context);}},500);}function showsnow(){var y=parseInt(Math.random()*50)*10;var x=parseInt(Math.random()*80)*10;this.draw=function(context){context.font="50px Calibri";context.fillText("*",x,y);}this.move=function(){y+=20;if(y>600){y=0;}}}</script></head><body><input type="button" value="start" onclick="start()" /><br/><canvas id="mycanvas" height="600px" width="600px" style="border: 3px solid blue"></canvas></body></html>

這個效果演示如下(感覺比較丑,不推薦):

效果代碼三

其實實現WordPress博客飄落雪花的還可以用 let it snow 插件。

let it snow插件使用方法我就在這里不嘮叨了,和其它插件安裝沒啥區別,可以直接去下載上傳文件夾let it snow里面的文件到/wp-content/plugins/目錄,然后激活此插件,在WordPress的管理面板菜單設置插件即可?;蛘咴诤箢^插件庫里面直接搜索,也可以找到。

let it snow 官方網站:點擊訪問

效果代碼四

在網上看到一個非常強大的SnowStorm插件。和牛逼啊,好像是google上搜let it snow會有下雪以及霜凍效果的代碼,很有創意。覺得好的童鞋可以自己去官網看看。

網上找了一個簡單的隨機的雪花飄落效果代碼分享給大家(這個效果是純代碼寫的。雪花就是*。):

稍微解釋下里面的幾個函數:

1、letItSnow()

就是下雪啦(這句依舊是廢)。然后就調用createSnow來產生雪花。

2、createSnow()

產生雪花每個雪花都是一個<i>標簽,里面放一個“*”來模擬雪花(google那個copy不下來,居然顯示為空格,我了個太陽…),然后放到一個大容器叫snowBox里面,產生的個體push進iArray里面收集起來。雪花采用的是以snowBox為參照的絕對定位方式,top為0px,left就用Math.random()*window.screen.width,讓雪花隨機在屏幕寬度中產生。

用color來控制雪花的顏色深淺產生景深,范圍在0~200之間
用fontSize來控制雪花的大小,范圍在10px~15px之間
用time來控制雪花飄落的調用間隔,范圍在40ms~50ms之間
用snowInterval來控制雪花產生的間隔,范圍在500ms~1000ms之間

然后遞歸調用本身,不停產生雪花。

3、fallDown()

顧名思義就是讓雪花飄落,飄落速度speed為2px,即每次縱向下降2px。這個時候做一個檢測,如果雪花下降到固定高度下,即比父容器還高,那么就remove掉它,這樣可以減輕瀏覽器的壓力,要不然太多雪花會導致瀏覽器越走越慢,反正已經給overflow:hidden掉看不見了,眼不見為凈。然后在縱向下降的同時調用個windBlow函數,讓雪花下降的藝術些。

4、windBlow()

一個命名貌似風吹,其實真是風吹的效果(這話更廢.哈哈.),利用一個Math.sin()來產生雪花在空中迂回飄蕩的效果,這樣雪花就不會單調的直線下降,而是蛇形飄落,控制好飄落的間隔,這樣連續性比較好,看起來也舒服些。

function letItSnow(){	var snowBox=document.getElementById("snowBox");	var iArray=new Array();	createSnow(snowBox,iArray);}function fallDown(temObj,iArray){	var speed=2;	var top=parseInt(temObj.style.top);	if(top>510){//當到超過高度時候就刪了它,減輕瀏覽器壓力		for(var i=0;i<iArray.length;i++){			if(temObj==iArray[i]){				iArray.splice(i,1);				var snowBox=document.getElementById("snowBox");				snowBox.removeChild(temObj);				return false;			}		}	}	temObj.style.top=top+speed+"px";	var wind=windBlow(temObj,top);	temObj.style.left=parseInt(temObj.style.left)+wind*2+"px";}function windBlow(temObj,top){	if(parseInt(Math.random())%2==1)	return Math.sin(top/16);	else return Math.cos(top/16);}function createSnow(snowBox,iArray){	var temObj=document.createElement("i");	var temText=document.createTextNode("*");	temObj.appendChild(temText);	temObj.style.left=parseInt(Math.random()*window.screen.width)+"px";	temObj.style.top="0px";	var temNum=parseInt(Math.random()*200);	temObj.style.color="#"+temNum.toString(16)+temNum.toString(16)+temNum.toString(16);	iArray.push(temObj);	snowBox.appendChild(temObj);	var temNum=0;	while(temNum<10){		temNum=parseInt(Math.random()*15);	}	temObj.style.fontSize=temNum+"px";	var time=0;	while(time<40){		time=parseInt(Math.random()*50);	}	temObj.timer=setInterval(function(){		fallDown(temObj,iArray);									},time);	var snowInterval=0;	while(snowInterval<500){		snowInterval=parseInt(Math.random()*1000);	}	var createTimer=setTimeout(function(){		createSnow(snowBox,iArray);			clearTimeout(createTimer);	},snowInterval);}

演示地址:http://demo.VeVB.COm/js/2014/snow/

好了,四個效果代碼到此結束。希望能幫到有需要的朋友。如果有什么問題可以在下面留言。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲网在线观看| 日韩禁在线播放| 成人激情在线播放| 国产精品丝袜白浆摸在线| 欧美一级视频一区二区| 92看片淫黄大片看国产片| 91精品国产91久久久| 26uuu国产精品视频| 欧美成人午夜激情| 国产精品成人播放| 日韩免费高清在线观看| 国产精品电影久久久久电影网| 亚洲欧美中文字幕| 91在线免费视频| 中文字幕国产精品| 欧美日韩福利视频| 日韩中文字幕免费看| 国产精品免费福利| 国产视频观看一区| 色综合天天狠天天透天天伊人| 精品中文字幕在线观看| 国产专区精品视频| 亚洲自拍偷拍福利| 91国产视频在线| 亚洲人精品午夜在线观看| 久久综合色88| 久久电影一区二区| 亚洲午夜久久久影院| 国产精品视频白浆免费视频| 国产精品丝袜一区二区三区| 亚洲综合一区二区不卡| 最近2019中文字幕一页二页| 91欧美激情另类亚洲| 精品国产成人av| 亚洲国产91精品在线观看| 亚洲第一网站男人都懂| 欧美国产日韩视频| 日韩精品视频在线| 久久99精品久久久久久琪琪| 国产一区二中文字幕在线看| 国产精品亚洲аv天堂网| 97国产精品视频人人做人人爱| 国产成人在线播放| 欧美视频在线免费| 色综合影院在线| 欧美疯狂做受xxxx高潮| 欧美极品欧美精品欧美视频| 欧美俄罗斯性视频| 欧美国产日韩一区二区| 欧美高跟鞋交xxxxhd| 97成人精品视频在线观看| 亚洲无限乱码一二三四麻| 久久久久免费精品国产| 欧美高清性猛交| 狠狠躁夜夜躁人人躁婷婷91| 欧美性猛交99久久久久99按摩| 国产精品第一区| 国产精品一区二区在线| 欧美视频一区二区三区…| 最近2019年手机中文字幕| 中文字幕九色91在线| 国产精品高清在线| 亚洲a在线播放| 国产视频久久久久| 国产精品中文字幕在线观看| 欧美韩国理论所午夜片917电影| 国语自产精品视频在线看抢先版图片| 美女啪啪无遮挡免费久久网站| 91精品国产综合久久久久久蜜臀| 色噜噜狠狠狠综合曰曰曰88av| 国产欧美日韩最新| 国产精品久久久久高潮| 国产精品com| 日韩精品视频在线观看免费| 国产欧美一区二区三区在线看| 国产精品99久久久久久久久久久久| 亚洲男人天堂2019| 日本高清+成人网在线观看| 国产精品久久久久一区二区| 中文字幕免费国产精品| 91精品国产91久久久久久吃药| 久久伊人精品一区二区三区| 国产精品日韩在线一区| 国产suv精品一区二区三区88区| 亚洲片国产一区一级在线观看| 91精品国产高清久久久久久91| 成人黄色av免费在线观看| 亚洲精品永久免费| 精品精品国产国产自在线| 欧美激情a∨在线视频播放| 日本国产高清不卡| 欧美日韩中文字幕日韩欧美| 亚洲视频在线看| 欧美黄色片免费观看| 精品无码久久久久久国产| 亚洲男人的天堂网站| 成人午夜两性视频| 午夜精品一区二区三区在线视频| 亚洲精品自在久久| 欧美日本高清一区| 国产日韩欧美黄色| 国产精品无码专区在线观看| 精品调教chinesegay| 国产精品丝袜高跟| 日韩欧美中文第一页| 欧美成在线视频| 亚洲国产精品免费| 日韩动漫免费观看电视剧高清| 最近2019中文字幕在线高清| 欧美日韩另类视频| 色综合91久久精品中文字幕| 26uuu久久噜噜噜噜| 日韩中文在线中文网在线观看| 成人激情视频在线| 亚洲精品综合精品自拍| 亚洲视频网站在线观看| 亚洲精品aⅴ中文字幕乱码| 欧美壮男野外gaytube| 亚洲a中文字幕| 国产精品高潮呻吟久久av黑人| 91久久国产精品91久久性色| 欧美福利视频在线观看| 欧美专区中文字幕| 国产欧美日韩精品在线观看| 亚洲摸下面视频| 91社区国产高清| 国产suv精品一区二区| 国产福利精品视频| 久久久久久国产精品久久| 中文字幕精品久久| 精品亚洲永久免费精品| 日韩电影在线观看永久视频免费网站| 亚洲va国产va天堂va久久| 亚洲专区在线视频| 色综合天天综合网国产成人网| 欧美孕妇毛茸茸xxxx| 国产精品入口日韩视频大尺度| 久久精品国产亚洲| 日韩高清电影免费观看完整| 日韩欧美在线观看| 福利微拍一区二区| 狠狠躁夜夜躁久久躁别揉| 九九热这里只有精品6| 日韩www在线| 日韩www在线| 国产精品久久久久久久久影视| 欧美亚洲国产精品| 日韩精品久久久久久久玫瑰园| 日日噜噜噜夜夜爽亚洲精品| 97人人模人人爽人人喊中文字| 欧美另类极品videosbest最新版本| 亚洲精品一区二三区不卡| 久久久电影免费观看完整版| 亚洲视频欧洲视频| 国产精品高潮呻吟久久av野狼| 91精品国产高清久久久久久久久| 黑人精品xxx一区| 日韩精品高清在线观看| 亚洲第一视频网| 国产一区二区三区网站| 亚洲色图综合网| 日韩综合中文字幕| 亚洲欧美精品中文字幕在线| 日韩精品极品视频免费观看|