jQuery實現的下雪動畫效果樣本【附源碼下載】,jquery源碼下載

來源:互聯網
上載者:User

jQuery實現的下雪動畫效果樣本【附源碼下載】,jquery源碼下載

本文執行個體講述了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動畫

運行效果:

附:完整執行個體代碼點擊此處本站下載

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.