【Merry Christmas】聖誕節,給博客添加浪漫的下雪效果!


  一年一度的聖誕節又到了,首先祝大家好運一串串,健康一年年,平安到永遠!在這個特殊的日子里,處處洋溢着節日的氣氛,空中飄落的雪花更顯得浪漫!今天就教大家如何在博客中添加紛紛揚揚的下雪效果。今天,你那里下雪了嗎?

 

 

  首先在頁面引入 jQuery 庫和 jQuery.snow.js(或者使用壓縮版本 jQuery.snow.min.js):

<script src="jquery.js"></script>
<script src="jquery.snow.js"></script>

  博客園的朋友可以不用引入 jQuery,因為博客園自身已經引入了。不是博客園的朋友也可以引用 Goolgle CDN 提供的 jQuery:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
<script src="jquery.snow.js"></script>

  然后在頁面文檔的任何地方調用下雪插件就可以了:

<script>
$(document).ready( function(){
        $.fn.snow();
});
</script>

  你也可以根據自己的喜好設置插件提供的參數來調整下雪的效果:

minSize  /* 雪花的最小尺寸,默認值 10 */
maxSize /* 雪花的最小尺寸,默認值 20 */
newOn /* 每毫秒雪花出現的頻率,默認是 500 */
flakeColor /* 雪花的顏色,默認值是白色 #FFFFFF */

  例如可以傳遞下面這樣形式的參數:

$.fn.snow({ 
	minSize: 5, 
	maxSize: 50, 
	newOn: 1000, 
	flakeColor: '#0099FF' 
});

  newOn 參數值越小,效果越好,但是設置過小的話可能會有性能問題,比較耗資源。

  最后向大家簡單介紹一下這個下雪效果實現的要點:

  1. 使用字符 ❄ 作為雪花,Unicode 編碼是:&#10052;,因此雪花的大小和顏色控制其實就是設置 font-size 和 color 屬性。
  2. 使用 setInterval 周期性生成雪花,頻率使用 newOn 控制。

  下面是下雪插件的完整代碼:

(function($){
	$.fn.snow = function(options){
			var $flake 			= $('<div id="flake" />').css({'position': 'absolute', 'top': '-50px'}).html('❄'),
				documentHeight 	= $(document).height(),
				documentWidth	= $(document).width(),
				defaults		= {
									minSize		: 10,
									maxSize		: 20,
									newOn		: 500,
									flakeColor	: "#FFFFFF"
								},
				options			= $.extend({}, defaults, options);
			
			var interval		= setInterval( function(){
				var startPositionLeft 	= Math.random() * documentWidth - 100,
				 	startOpacity		= 0.5 + Math.random(),
					sizeFlake			= options.minSize + Math.random() * options.maxSize,
					endPositionTop		= documentHeight - 40,
					endPositionLeft		= startPositionLeft - 100 + Math.random() * 200,
					durationFall		= documentHeight * 10 + Math.random() * 5000;
				$flake
					.clone()
					.appendTo('body')
					.css(
						{
							left: startPositionLeft,
							opacity: startOpacity,
							'font-size': sizeFlake,
							color: options.flakeColor
						}
					)
					.animate(
						{
							top: endPositionTop,
							left: endPositionLeft,
							opacity: 0.2
						},
						durationFall,
						'linear',
						function() {
							$(this).remove()
						}
					);
			}, options.newOn);
	};
})(jQuery);

  園子里的朋友只要把下面代碼添加到(管理-》設置-》頁腳HTML代碼)中就可以了,非簡單!

  溫馨提示:因為會被轉義,這里給雪花編碼加個空格,使用的時候記得把html('& #10052;') 的& #間空格去掉啊。

<script>
(function($){$.fn.snow=function(options){var $flake=$('<div id="flake" />').css({'position':'absolute','top':'-50px'}).html('& #10052;'),documentHeight=$(document).height(),documentWidth=$(document).width(),defaults={minSize:10,maxSize:20,newOn:500,flakeColor:"#FFFFFF"},options=$.extend({},defaults,options);var interval=setInterval(function(){var startPositionLeft=Math.random()*documentWidth-100,startOpacity=0.5+Math.random(),sizeFlake=options.minSize+Math.random()*options.maxSize,endPositionTop=documentHeight-40,endPositionLeft=startPositionLeft-100+Math.random()*200,durationFall=documentHeight*10+Math.random()*5000;$flake.clone().appendTo('body').css({left:startPositionLeft,opacity:startOpacity,'font-size':sizeFlake,color:options.flakeColor}).animate({top:endPositionTop,left:endPositionLeft,opacity:0.2},durationFall,'linear',function(){$(this).remove()});},options.newOn);};})(jQuery);
$.fn.snow({ minSize: 5, maxSize: 50, newOn: 1000, flakeColor: '#FFF' });
</script>

 

刷新頁面瀏覽效果     完整源碼下載

 

 

本文鏈接:聖誕節到了,給博客添加浪漫的下雪效果!

編譯來源:夢想天空 ◆ 關注前端開發技術 ◆ 分享網頁設計資源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM