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


Posted in jQuery onFebruary 02, 2018

本文实例讲述了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实现的下雪动画效果示例【附源码下载】

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

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
jQuery extend()详解及简单实例
May 06 jQuery
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
jQuery实现动态控制页面元素的方法分析
Dec 20 jQuery
jquery.onoff实现简单的开关按钮功能(推荐)
May 24 jQuery
jQuery实现获取动态添加的标签对象示例
Jun 28 jQuery
jquery登录的异步验证操作示例
May 09 jQuery
jQuery实现高级检索功能
May 28 jQuery
Jquery实现获取子元素的方法分析
Aug 24 jQuery
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 jQuery
jQuery实现广告显示和隐藏动画
Jul 04 jQuery
jquery.picsign图片标注组件实例详解
Feb 02 #jQuery
jquery应用实例分享_实现手风琴特效
Feb 01 #jQuery
jQuery NProgress.js加载进度插件的简单使用方法
Jan 31 #jQuery
jQuery与vue实现拖动验证码功能
Jan 30 #jQuery
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 #jQuery
jQuery代码优化方法总结
Jan 29 #jQuery
jquery写出PC端轮播图实例
Jan 26 #jQuery
You might like
php chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
理解Python中的With语句
2016/03/18 Python
轻松掌握python设计模式之访问者模式
2016/11/18 Python
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
Python二元赋值实用技巧解析
2019/10/25 Python
python3 kubernetes api的使用示例
2021/01/12 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
Spartoo瑞典:鞋子、包包和衣服
2018/09/15 全球购物
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
J2EE中的容器都包括哪些
2013/08/21 面试题
班组长工作职责
2013/12/25 职场文书
销售人员求职信
2014/07/22 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
幼儿园教师考核评语
2014/12/31 职场文书
爱心捐款感谢信
2015/01/20 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL