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插件HighCharts绘制2D饼图效果示例【附demo源码下载】
Mar 21 jQuery
原生Aajax 和jQuery Ajax 写法个人总结
Mar 24 jQuery
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
jQuery实现的滑块滑动导航效果示例
Jun 04 jQuery
jQuery实现仿京东防抖动菜单效果示例
Jul 06 jQuery
jquery拖拽自动排序插件使用方法详解
Jul 20 jQuery
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
如何使用CSS3和JQuery easing 插件制作绚丽菜单
Jun 18 jQuery
jQuery 判断元素是否存在然后按需加载内容的实现代码
Jan 16 jQuery
JS JQuery获取data-*属性值方法解析
Sep 01 jQuery
jquery实现异步文件上传ajaxfileupload.js
Oct 23 jQuery
jquery实现穿梭框功能
Jan 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 无限级数据JSON格式及JS解析
2010/07/17 PHP
Apache服务器无法使用的解决方法
2013/05/08 PHP
thinkphp3.2.2前后台公用类架构问题分析
2014/11/25 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
js实现无缝滚动图
2017/02/22 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
python字符串,数值计算
2016/10/05 Python
Python向excel中写入数据的方法
2019/05/05 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
jupyter notebook更换皮肤主题的实现
2021/01/07 Python
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
小型女装店的创业计划书
2014/01/09 职场文书
餐饮投资计划书
2014/04/25 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
教研活动主持词
2015/07/03 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书