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 Validate表单验证插件实现代码
Jun 08 jQuery
基于jQuery封装的分页组件
Jun 26 jQuery
各种选择框jQuery的选中方法(实例讲解)
Jun 27 jQuery
jQuery绑定事件方法及区别(bind,click,on,live,one)
Aug 14 jQuery
jQuery实现火车票买票城市选择切换功能
Sep 15 jQuery
jquery之基本选择器practice(实例讲解)
Sep 30 jQuery
jQuery实现简单的下拉菜单导航功能示例
Dec 07 jQuery
Angular5中调用第三方库及jQuery的添加的方法
Jun 07 jQuery
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
jQuery实现上下滚动公告栏详细代码
Nov 21 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
jQuery 移除事件的方法
Jun 20 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
php 获取SWF动画截图示例代码
2014/02/10 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
JQuery AJAX 中文乱码问题解决
2013/06/05 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
JS前端笔试题分析
2016/12/19 Javascript
解决vue移动端适配问题
2018/12/12 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
python2.7到3.x迁移指南
2018/02/01 Python
使用Python更换外网IP的方法
2018/07/09 Python
我就是这样学习Python中的列表
2019/06/02 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
python程序输出无内容的解决方式
2020/04/09 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
Kidsroom台湾:来自德国的婴儿用品
2017/12/11 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
如何开启linux的ssh服务
2015/02/14 面试题
英文求职信写作小建议
2014/02/16 职场文书
竞选班长自荐书范文
2014/03/09 职场文书
合伙协议书范本
2014/04/21 职场文书
学用政策心得体会
2014/09/10 职场文书
个人股份合作协议书
2014/10/24 职场文书
2014司机年终工作总结
2014/12/05 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
中学社团活动总结
2015/05/07 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
python 逐步回归算法
2021/04/06 Python
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers