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 相关文章推荐
jQuery实现所有验证通过方可提交的表单验证
Nov 21 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 jQuery
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
May 09 jQuery
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
jquery获取select选中值的文本,并赋值给另一个输入框的方法
Aug 21 jQuery
jQuery-ui插件sortable实现自由拖动排序
Dec 01 jQuery
jquery操作select常见方法大全【7种情况】
May 28 jQuery
jQuery+ajax实现批量删除功能完整示例
Jun 06 jQuery
jQuery实现简单三级联动效果
Sep 05 jQuery
jQuery实现简单全选框
Sep 13 jQuery
jQuery-App输入框实现实时搜索
Nov 19 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 文件缓存函数
2011/10/08 PHP
php生成无限栏目树
2017/03/16 PHP
PHP如何防止用户重复提交表单
2020/12/09 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
jquery中对表单的基本操作代码
2010/07/29 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
微信小程序自定义键盘 内部虚拟支付
2018/12/20 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:04:32]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第二场 2月23日
2021/03/11 DOTA
wxPython 入门教程
2008/10/07 Python
Python格式化输出%s和%d
2018/05/07 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
Python能做什么
2020/06/02 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
python简单实现插入排序实例代码
2020/12/16 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
思想汇报格式
2014/01/05 职场文书
丧事主持词大全
2014/04/02 职场文书
设备售后服务承诺书
2014/05/30 职场文书
小学数学教研活动总结
2014/07/01 职场文书
软环境建设心得体会
2014/09/09 职场文书
与美同行演讲稿
2014/09/13 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
2016秋季校长开学典礼致辞
2015/11/26 职场文书