HTML5模拟给树浇水长大

来源:互联网 发布:wifi如何绑定mac地址 编辑:程序博客网 时间:2024/05/01 20:02

用到的知识点

CSS3  animation 和 keyframes

事件: webkitAnimationEnd  替代setTimeout     webkitAnimationEnd 事件讲解http://blog.csdn.NET/kongjiea/article/details/38614695

[html] view plain copy
 print?
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">  
  3. <head>  
  4.     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">  
  5.     <title>浇水</title>  
  6.     <script src="http://zeptojs.com/zepto.min.js"></script>  
  7.     <style>  
  8.             /* animation */  
  9.         .a-swing{-webkit-animation:1s ease;-moz-animation:1s ease;-ms-animation:1s ease;animation:1s ease;}  
  10.         .bottle-fadeIn{-webkit-animation:.8s ease;-moz-animation:.8s ease;-ms-animation:.8s ease;animation:.8s ease;}  
  11.         .a-watering{-webkit-animation:0.5s ease 0 3;-moz-animation:0.5s ease  0 3;-ms-animation:0.5s ease  0 3;animation:0.5s ease  0 3;}  
  12.           
  13.         /* 摇摆 */  
  14.         .a-swing{-webkit-animation-name:swing;-moz-animation-name:swing;-ms-animation-name:swing;animation-name:swing;}  
  15.         .bottle-fadeIn{-webkit-animation-name:bottleFadeIn;-moz-animation-name:bottleFadeIn;-ms-animation-name:bottleFadeIn;animation-name:bottleFadeIn;}  
  16.         .a-watering{-webkit-animation-name:watering;-moz-animation-name:watering;-ms-animation-name:watering;animation-name:watering;}  
  17.   
  18.         /*水瓶动画*/  
  19.         @-webkit-keyframes bottleFadeIn{  
  20.             0%{opacity:0;top:80px;right:0;-webkit-transform:rotate(0deg);}  
  21.             100%{opacity:1;top:180px;right:100px;-webkit-transform:rotate(-45deg);}  
  22.         }  
  23.         /*流水动画*/  
  24.         @-webkit-keyframes watering{  
  25.             0%{opacity:0;}  
  26.             100%{opacity:1;height:4px;}  
  27.         }  
  28.   
  29.         /* 摇摆 */  
  30.         @-webkit-keyframes swing{  
  31.              /*10%{-webkit-transform:rotate(-5deg);}  
  32.              20%{-webkit-transform:rotate(5deg);}  
  33.              30%{-webkit-transform:rotate(-5deg);}  
  34.              40%{-webkit-transform:rotate(5deg);}  
  35.              50%{-webkit-transform:rotate(-5deg);}  
  36.              60%{-webkit-transform:rotate(5deg);}  
  37.              80%{-webkit-transform:rotate(-5deg);}  
  38.              100%{-webkit-transform:rotate(0);}  */  
  39.              /*0%{-webkit-transform:scale(1,1);}  
  40.              20%{-webkit-transform:scale(1.1,1.1);}  
  41.              40%{-webkit-transform:scale(1.2,1.2);}  
  42.              60%{-webkit-transform:scale(1.1,1.1);}  
  43.              80%{-webkit-transform:scale(1.2,1.2);}  
  44.             100%{-webkit-transform:scale(1,1);} */  
  45.             /*0%{-webkit-transform:scale(1,1);}  
  46.             20%{-webkit-transform:scale(1.02,1.02);}  
  47.             40%{-webkit-transform:scale(1.05,1.05);}  
  48.             60%{-webkit-transform:scale(1.07,1.07);}  
  49.             80%{-webkit-transform:scale(1.1,1.1);}  
  50.             100%{-webkit-transform:scale(1.2,1.2);}*/  
  51.             0%{-webkit-transform:scale(1,1);}  
  52.             35%{-webkit-transform:scale(1.07,1.07);}  
  53.             70%{-webkit-transform:scale(1.1,1.1);}  
  54.             100%{-webkit-transform:scale(1.2,1.2);}  
  55.   
  56.         }  
  57.         @-moz-keyframes swing{  
  58.             20%{-moz-transform:rotate(15deg);}  
  59.             40%{-moz-transform:rotate(-10deg);}  
  60.             60%{-moz-transform:rotate(5deg);}  
  61.             80%{-moz-transform:rotate(-5deg);}  
  62.             100%{-moz-transform:rotate(0);}  
  63.         }  
  64.         @-ms-keyframes swing{  
  65.             20%{-ms-transform:rotate(15deg);}  
  66.             40%{-ms-transform:rotate(-10deg);}  
  67.             60%{-ms-transform:rotate(5deg);}  
  68.             80%{-ms-transform:rotate(-5deg);}  
  69.             100%{-ms-transform:rotate(0);}  
  70.         }  
  71.         @keyframes swing{  
  72.             20%{transform:rotate(15deg);}  
  73.             40%{transform:rotate(-10deg);}  
  74.             60%{transform:rotate(5deg);}  
  75.             80%{transform:rotate(-5deg);}  
  76.             100%{transform:rotate(0);}  
  77.         }  
  78.   
  79.           
  80.           
  81.     </style>  
  82.     <script>  
  83.         $(function(){  
  84.   
  85.             $('#btn').click(function(){  
  86.                 $('.bottle').show().addClass('bottle-fadeIn');  
  87.                 $('.bottle').on('webkitAnimationEnd',function(){  
  88.                     $(this).removeClass('bottle-fadeIn');  
  89.                     $('.line li').addClass('a-watering');  
  90.                 });  
  91.                 $('.line li').on('webkitAnimationEnd',function(){  
  92.                     $('.bottle').hide();  
  93.                     $('.line li').removeClass('a-watering');  
  94.                     $('.tree').addClass('a-swing');  
  95.                 });  
  96.                 $('.tree').on('webkitAnimationEnd',function(){  
  97.   
  98.                     $('.tree').css({'-webkit-transform':'scale(1.2,1.2)'});  
  99.                     $('.tree').removeClass('a-swing');  
  100.                 })  
  101.                 // setTimeout(function(){  
  102.                 //     $('.line li').addClass('a-watering');  
  103.                 // },800);  
  104.                 // setTimeout(function(){  
  105.                 //     $('.bottle').hide();  
  106.                 //     $('.tree').addClass('a-swing');  
  107.                 // },2300);  
  108.                 // setTimeout(function(){  
  109.                 //     $('.line li').removeClass('a-watering');  
  110.                 //     $('.tree').removeClass('a-swing');  
  111.                 //     $('.tree').css({'-webkit-transform':'scale(1.2,1.2)'});  
  112.                 // },3300);  
  113.   
  114.             });  
  115.               
  116.   
  117.         })  
  118.     </script>  
  119.     <style>  
  120.     *{margin:0;padding:0;list-style: none;}  
  121.     .box{width:500px;border:1px solid #ddd;margin:10px auto;overflow:hidden;position: relative;padding-bottom:30px;}  
  122.     .tree{width:208px;height:300px;background:url(images/shu.png) no-repeat;  
  123.         margin:250px auto 0;}  
  124.     .bottle{position:absolute;top:180px;right:100px;width:90px;height:65px;background:url(images/sashui.png) no-repeat;display:none; -webkit-transform:rotate(-45deg); -moz-transform:rotate(-45deg); -ms-transform:rotate(-45deg); -o-transform:rotate(-45deg); transform:rotate(-45deg);}   
  125.     .rain_box{position:absolute;overflow:hidden;top:220px;right:190px;}  
  126.     .rain_box .line{width:4px;float:left;position:relative;}  
  127.     .rain_box .line li{margin-top:2px;height:2px;width:2px;background:#999;-webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px;opacity:0;}   
  128.     .rain_box .line1{-webkit-transform:rotate(45deg); -moz-transform:rotate(45deg); -ms-transform:rotate(45deg); -o-transform:rotate(45deg); transform:rotate(45deg);margin-left:15px;}  
  129.     .rain_box .line2{-webkit-transform:rotate(30deg);-moz-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg);margin-left:2px;}   
  130.     .rain_box .line3{-webkit-transform:rotate(20deg);-moz-transform:rotate(20deg);-ms-transform:rotate(20deg);-o-transform:rotate(20deg);transform:rotate(20deg);margin-left:3px;}  
  131.     #btn{position:absolute;top:80px;right:10px;height:20px;width:50px;background:#f60;border:none;color:#fff;}  
  132.     </style>  
  133. </head>  
  134. <body>  
  135.     <div class="box">  
  136.         <!-- 树 -->  
  137.         <div class="tree"></div>  
  138.         <!-- /树 -->  
  139.         <!-- 水瓶 -->  
  140.         <div class="bottle" alt="a-watering"></div>  
  141.         <!-- /水瓶 -->  
  142.         <!-- 雨水 -->  
  143.         <div class="rain_box">  
  144.             <ul class="line line1">  
  145.                 <li></li>  
  146.                 <li></li>  
  147.                 <li></li>  
  148.                 <li></li>  
  149.                 <li></li>  
  150.             </ul>  
  151.             <ul class="line line2">  
  152.                 <li></li>  
  153.                 <li></li>  
  154.                 <li></li>  
  155.                 <li></li>  
  156.                 <li></li>  
  157.             </ul>  
  158.             <ul class="line line3">  
  159.                 <li></li>  
  160.                 <li></li>  
  161.                 <li></li>  
  162.                 <li></li>  
  163.                 <li></li>  
  164.             </ul>  
  165.         </div>  
  166.         <!-- /雨水 -->  
  167.         <input type="button" id="btn" value="浇水" />  
  168.     </div>  
  169. </body>  
  170. </html> 
0 0
原创粉丝点击