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中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
jquery实现一个全局计时器(商城可用)
Jun 30 jQuery
jquery实现限制textarea输入字数的方法
Sep 06 jQuery
jQuery选择器中的特殊符号处理方法
Sep 08 jQuery
jquery 获取索引值在一定范围的列表方法
Jan 25 jQuery
jquery的 filter()方法使用教程
Mar 22 jQuery
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 jQuery
jQuery实现的简单对话框拖动功能示例
Jun 05 jQuery
jquery ajax加载数据前台渲染方式 不用for遍历的方法
Aug 09 jQuery
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
jquery实现动态创建form并提交的方法示例
May 27 jQuery
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
Jun 18 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实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
2016/12/12 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
javascript 定义新对象方法
2010/02/20 Javascript
用jquery设置按钮的disabled属性的实现代码
2010/11/28 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
javascript 中__proto__和prototype详解
2014/11/25 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
图文介绍Vue父组件向子组件传值
2018/02/17 Javascript
vue :src 文件路径错误问题的解决方法
2018/05/15 Javascript
angular6的响应式表单的实现
2018/10/10 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
python的三目运算符和not in运算符使用示例
2014/03/03 Python
Python回调函数用法实例详解
2015/07/02 Python
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
Python 使用PIL中的resize进行缩放的实例讲解
2018/08/03 Python
python 使用csv模块读写csv格式文件的示例
2020/12/02 Python
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
厂长助理岗位职责
2013/12/27 职场文书
生产班组长岗位职责
2014/01/05 职场文书
公司聘任书模板
2014/03/29 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
2015年幼儿园国庆节活动总结
2015/07/30 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
九年级数学教学反思
2016/02/17 职场文书
Nginx工作模式及代理配置的使用细节
2022/03/21 Servers