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 Easyui一些用法
Aug 01 jQuery
jQuery+koa2实现简单的Ajax请求的示例
Mar 06 jQuery
jQuery使用动画队列自定义动画操作示例
Jun 16 jQuery
jQuery实现获取及设置CSS样式操作详解
Sep 05 jQuery
jQuery实现基本动画效果的方法详解
Sep 06 jQuery
jQuery easyui datagird编辑行删除行功能的实现代码
Sep 20 jQuery
jQuery序列化form表单数据为JSON对象的实现方法
Sep 20 jQuery
jQuery实现简单聊天室
Feb 08 jQuery
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
May 29 jQuery
基于JavaScript或jQuery实现网站夜间/高亮模式
May 30 jQuery
基于jQuery拖拽事件的封装
Nov 29 jQuery
jQuery实现tab栏切换效果
Dec 22 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 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
PHP 基于文件头的文件类型验证类函数
2012/05/01 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
Javascript Math对象
2009/08/13 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
2015/05/06 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
2019/11/04 jQuery
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
判断python字典中key是否存在的两种方法
2018/08/10 Python
python实现推箱子游戏
2020/03/25 Python
python脚本开机自启的实现方法
2019/06/28 Python
python名片管理系统开发
2020/06/18 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
医学毕业生自荐信
2013/10/11 职场文书
会计电算化个人自我评价
2013/11/17 职场文书
经典团队口号
2014/06/06 职场文书
简易版租房协议书范本
2014/10/13 职场文书