jQuery實(shí)現(xiàn)的下雪動(dòng)畫(huà)效果示例【附源碼下載】
本文實(shí)例講述了jQuery實(shí)現(xiàn)的下雪動(dòng)畫(huà)效果。分享給大家供大家參考,具體如下:
html部分:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<!-- snow -->
<script src="js/jquery.snow.js"></script>
</head>
<body>
<div id="content-wrapper">
<div class="inner clearfix">
<section id="main-content">
<img src="images/merry_christmasA.jpg" alt="chrismas">
</section>
</div>
</div>
<script>
$(document).ready( function(){
$.fn.snow( { minSize: 2, maxSize: 150, newOn: 200, flakeColor: '#FFFFFF' } );
});
</script>
</body>
</html>
jquery.snow.js:
/**
* jquery.snow - jQuery Snow Effect Plugin
*
* Available under MIT licence
*
* @version 1 (21. Jan 2012)
* @author Ivan Lazarevic
* @requires jQuery
* @see http://workshop.rs
*
* @params minSize - min size of snowflake, 10 by default
* @params maxSize - max size of snowflake, 20 by default
* @params newOn - frequency in ms of appearing of new snowflake, 500 by default
* @params flakeColor - color of snowflake, #FFFFFF by default
* @example $.fn.snow({ maxSize: 200, newOn: 1000 });
*/
(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);
//setInterval-setInterval() 方法可按照指定的周期(以毫秒計(jì))來(lái)調(diào)用函數(shù)或計(jì)算表達(dá)式。
//開(kāi)始一個(gè)周期-開(kāi)始添加雪花
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(//增加雪花動(dòng)態(tài)效果
{
top: endPositionTop,
left: endPositionLeft,
opacity: 0.2
},
durationFall,
'linear',
function() {
$(this).remove()
}
);
}, options.newOn);
//結(jié)束周期-停止添加雪花
setTimeout(function(){
window.clearInterval(interval);
},5000);
};
})(jQuery);
不需要css樣式
主要用到:setInterval-setInterval() 方法可按照指定的周期(以毫秒計(jì))來(lái)調(diào)用函數(shù)或計(jì)算表達(dá)式。& animate動(dòng)畫(huà)
運(yùn)行效果:

附:完整實(shí)例代碼點(diǎn)擊此處本站下載。
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《jQuery常用插件及用法總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery常見(jiàn)經(jīng)典特效匯總》、《jQuery動(dòng)畫(huà)與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
相關(guān)文章
jQuery實(shí)現(xiàn)偽分頁(yè)的方法分享
這篇文章主要介紹了jQuery實(shí)現(xiàn)偽分頁(yè)的方法,結(jié)合實(shí)例形式分析了jQuery實(shí)現(xiàn)偽分頁(yè)的具體步驟與相關(guān)實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-02-02
JQuery中模擬image的ajaxPrefilter與ajaxTransport處理
這篇文章主要介紹了JQuery中模擬image的ajaxPrefilter與ajaxTransport處理,本文直接給出模擬實(shí)現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下2015-06-06
jQuery多個(gè)版本和其他js庫(kù)沖突的解決方法
jQuery多個(gè)版本或和其他js庫(kù)沖突主要是常用的$符號(hào)的問(wèn)題,該怎么解決呢?下面小編給大家?guī)?lái)了jQuery多個(gè)版本和其他js庫(kù)沖突的解決方法,一起看下吧2016-08-08
Jquery中ajax方法data參數(shù)的用法小結(jié)
本篇文章主要是對(duì)Jquery中ajax方法data參數(shù)的用法進(jìn)行了總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02
jQuery1.3.2 升級(jí)到j(luò)Query1.4.4需要修改的地方
jQuery1.3.2 升級(jí)到 1.4.4 ,需要修改的地方,需要的朋友可以參考下。2011-01-01
jQuery.extend 函數(shù)的詳細(xì)用法
jQuery.extend 函數(shù)的詳細(xì)用法,學(xué)習(xí)jquery的朋友可以參考下2012-06-06

