JavaScript

超轻量级php框架startmvc

jQuery实现的下雪动画效果示例【附源码下载】

更新时间:2020-06-25 22:06:01 作者:startmvc
本文实例讲述了jQuery实现的下雪动画效果。分享给大家供大家参考,具体如下:html部分:&l

本文实例讲述了jQuery实现的下雪动画效果。分享给大家供大家参考,具体如下:

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() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
 //开始一个周期-开始添加雪花
 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);
 //结束周期-停止添加雪花
 setTimeout(function(){
 window.clearInterval(interval);
 },5000);
 };
})(jQuery);

不需要css样式

主要用到:setInterval-setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。& animate动画

运行效果:

附:完整实例代码点击此处本站下载

jQuery 下雪 动画