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实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
解决IE7中使用jQuery动态操作name问题
Aug 28 jQuery
jQuery实现动态控制页面元素的方法分析
Dec 20 jQuery
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
用jquery获取select标签中选中的option值及文本的示例
Jan 25 jQuery
集成vue到jquery/bootstrap项目的方法
Feb 10 jQuery
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 jQuery
jQuery pagination分页示例详解
Oct 23 jQuery
jQuery实现的老虎机跑动效果示例
Dec 29 jQuery
jquery实现Ajax请求的几种常见方式总结
May 28 jQuery
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
Oct 10 jQuery
JQuery基于FormData异步提交数据文件
Sep 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
详解:――如何将图片储存在数据库里
2006/12/05 PHP
php获取从百度搜索进入网站的关键词的详细代码
2014/01/08 PHP
php使用curl检测网页是否被百度收录的示例分享
2014/01/31 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
php生成rss类用法实例
2015/04/14 PHP
CCPry JS类库 代码
2009/10/30 Javascript
js播放wav文件(源码)
2013/04/22 Javascript
js动态创建、删除表格示例代码
2013/08/07 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
关于vue中 $emit的用法详解
2018/04/12 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
python进阶教程之词典、字典、dict
2014/08/29 Python
Python字符串替换实例分析
2015/05/11 Python
Python 模块EasyGui详细介绍
2017/02/19 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
python如何统计代码运行的时长
2019/07/24 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
国际政治个人自荐信范文
2013/11/26 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
民族团结好少年事迹材料
2014/08/19 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
PyQt5 QThread倒计时功能的实现代码
2021/04/02 Python
golang中的空slice案例
2021/04/27 Golang
使用Django实现商城验证码模块的方法
2021/06/01 Python
详解Java实践之建造者模式
2021/06/18 Java/Android
MySQL限制查询和数据排序介绍
2022/03/25 MySQL
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python
Pillow图像处理库安装及使用
2022/04/12 Python
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技