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插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
Mar 23 jQuery
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
jQuery回调方法使用示例
Jun 26 jQuery
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
jQuery 1.9版本以上的浏览器判断方法代码分享
Aug 28 jQuery
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 jQuery
jQuery实现表格隔行换色
Sep 01 jQuery
jQuery操作cookie的示例代码
Jun 05 jQuery
JQuery 实现文件下载的常用方法分析
Oct 29 jQuery
jquery实现拖拽添加元素功能
Dec 01 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 gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
解析PHP缓存函数的使用说明
2013/05/10 PHP
thinkPHP订单数字提醒功能的实现方法
2016/12/01 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
2013/10/01 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
原生实现一个react-redux的代码示例
2018/06/08 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
原生js实现随机点名
2020/07/05 Javascript
JS实现鼠标按下拖拽效果
2020/07/23 Javascript
如何使用 vue-cli 创建模板项目
2020/11/19 Vue.js
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
Python模块学习 re 正则表达式
2011/05/19 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
Python如何调用外部系统命令
2019/08/07 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
毕业设计论文评语
2014/12/31 职场文书
会议通知
2015/04/15 职场文书
招商银行工作证明
2015/06/17 职场文书
教师远程培训心得体会
2016/01/09 职场文书
攻略丨滑雪究竟该选哪款对讲机?
2022/02/18 无线电