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正则表达式在页面验证url网址输入是否正确
Apr 04 jQuery
jquery.form.js异步提交表单详解
Apr 25 jQuery
jquery实现图片放大点击切换
Jun 06 jQuery
jquery单击文字或图片内容放大并居中显示
Jun 23 jQuery
jQuery 实现鼠标画框并对框内数据选中的实例代码
Aug 29 jQuery
浅谈ajax在jquery中的请求和servlet中的响应
Jan 22 jQuery
jQuery实现的淡入淡出与滑入滑出效果示例
Apr 18 jQuery
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
Apr 27 jQuery
js与jQuery实现获取table中的数据并拼成json字符串操作示例
Jul 12 jQuery
JQuery Ajax跨域调用和非跨域调用问题实例分析
Apr 16 jQuery
jQuery实现动态生成年月日级联下拉列表示例
May 11 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
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
php中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
java script编程起步(第三课)
2007/01/10 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
2013/02/05 Javascript
jquery 单引号和双引号的区别及使用注意
2013/07/31 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
python 叠加等边三角形的绘制的实现
2019/08/14 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
Python filter()及reduce()函数使用方法解析
2020/09/05 Python
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
英国品牌男装折扣网站:Brown Bag
2018/03/08 全球购物
PacSun官网:加州生活方式服装、鞋子和配饰
2018/03/10 全球购物
游戏商店:Eneba
2020/04/25 全球购物
十一个高级MySql面试题
2014/10/06 面试题
中专生自我鉴定范文
2013/12/19 职场文书
迟到检讨书大全
2014/01/25 职场文书
参观邀请函范文
2015/02/02 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis