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和原生JavaScript实现网页定位导航特效
Apr 03 jQuery
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
Apr 13 jQuery
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 jQuery
浅谈struts1 &amp; jquery form 文件异步上传
May 25 jQuery
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
Oct 19 jQuery
JQuery 又谈ajax局部刷新
Nov 27 jQuery
js和jQuery以及easyui实现对下拉框的指定赋值方法
Jan 23 jQuery
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
Mar 19 jQuery
jQuery层叠选择器用法实例分析
Jun 28 jQuery
JQuery 实现文件下载的常用方法分析
Oct 29 jQuery
js与jquery获取input输入框中的值实例讲解
Feb 27 jQuery
jQuery 隐藏/显示效果函数用法实例分析
May 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
PHP令牌 Token改进版
2008/07/18 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
PHP单例模式是什么 php实现单例模式的方法
2016/05/14 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
js中typeof的用法汇总
2013/12/12 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
Python脚本后台运行的几种方式
2015/03/09 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
js实现数组去重方法及效率?Ρ? target=
2017/02/14 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
python爬取网页转换为PDF文件
2018/06/07 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
2018/07/13 Python
python实现停车管理系统
2018/11/30 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
keras slice layer 层实现方式
2020/06/11 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
上海天奕面试题笔试题
2015/04/19 面试题
Linux中如何用命令创建目录
2015/01/12 面试题
JS原生实现轮播图的几种方法
2021/03/23 Javascript
实习评语大全
2014/04/26 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server