HTML5+Webkit如何实现树叶飘落动画

这篇文章将为大家详细讲解有关HTML5+Webkit如何实现树叶飘落动画,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联公司专注于滨海网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供滨海营销型网站建设,滨海网站制作、滨海网页设计、滨海网站官网定制、重庆小程序开发公司服务,打造滨海网络公司原创品牌,更为您提供滨海网站排名全网营销落地服务。

实现如图所示的东西效果(落叶下落):

HTML5+Webkit如何实现树叶飘落动画 

html代码:




    HTML5树叶飘落动画
    
    
    
    


    
        
                     这是基于webkit的落叶动画         
    
   css代码: body{     background-color: #4E4226; } #container {     position: relative;     height: 700px;     width: 500px;     margin: 10px auto;     overflow: hidden;     border: 4px solid #5C090A;     background: #4E4226 url('images/backgroundLeaves.jpg') no-repeat top left; } #leafContainer {     position: absolute;     width: 100%;     height: 100%; } #message{     position: absolute;     top: 160px;     width: 100%;     height: 300px;     background:transparent url('images/textBackground.png') repeat-x center;     color: #5C090A;     font-size: 220%;     font-family: 'Georgia';     text-align: center;     padding: 20px 10px;     -webkit-box-sizing: border-box;     -webkit-background-size: 100% 100%;     z-index: 1; } em {     font-weight: bold;     font-style: normal; } #leafContainer > div {     position: absolute;     width: 100px;     height: 100px;     -webkit-animation-iteration-count: infinite;     -webkit-animation-direction: normal;     -webkit-animation-timing-function: linear; } #leafContainer > div > img {      position: absolute;      width: 100px;      height: 100px;      -webkit-animation-iteration-count: infinite;      -webkit-animation-direction: alternate;      -webkit-animation-timing-function: ease-in-out;      -webkit-transform-origin: 50% -100%; } @-webkit-keyframes fade{     0%   { opacity: 1; }     95%  { opacity: 1; }     100% { opacity: 0; } } @-webkit-keyframes drop{     0%   { -webkit-transform: translate(0px, -50px); }     100% { -webkit-transform: translate(0px, 650px); } } @-webkit-keyframes clockwiseSpin{     0%   { -webkit-transform: rotate(-50deg); }     100% { -webkit-transform: rotate(50deg); } } @-webkit-keyframes counterclockwiseSpinAndFlip {     0%   { -webkit-transform: scale(-1, 1) rotate(50deg); }     100% { -webkit-transform: scale(-1, 1) rotate(-50deg); } } js代码: const NUMBER_OF_LEAVES = 30; function init(){     var container = document.getElementById('leafContainer');     for (var i = 0; i < NUMBER_OF_LEAVES; i++) {         container.appendChild(createALeaf());     } } function randomInteger(low, high){     return low + Math.floor(Math.random() * (high - low)); } function randomFloat(low, high){     return low + Math.random() * (high - low); } function pixelValue(value){     return value + 'px'; } function durationValue(value){     return value + 's'; } function createALeaf(){     var leafDiv = document.createElement('div');     leafDiv.style.top = "-100px";     leafDiv.style.left = pixelValue(randomInteger(0, 500));     leafDiv.style.webkitAnimationName = 'fade, drop';     var fadeAndDropDuration = durationValue(randomFloat(5, 11));     leafDiv.style.webkitAnimationDuration = fadeAndDropDuration + ', ' + fadeAndDropDuration;     var leafDelay = durationValue(randomFloat(0, 5));     leafDiv.style.webkitAnimationDelay = leafDelay + ', ' + leafDelay;     var image = document.createElement('img');     image.src = 'images/realLeaf' + randomInteger(1, 5) + '.png';     var spinAnimationName = (Math.random() < 0.5) ? 'clockwiseSpin' : 'counterclockwiseSpinAndFlip';     image.style.webkitAnimationName = spinAnimationName;     var spinDuration = durationValue(randomFloat(4, 8));     image.style.webkitAnimationDuration = spinDuration;     leafDiv.appendChild(image);     return leafDiv; } window.addEventListener('load', init, false);

PS:下面看下html5 canvas处理连续帧图片,下面的代码基于IE8以上






Canvas Demo



    

关于“HTML5+Webkit如何实现树叶飘落动画”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


网页题目:HTML5+Webkit如何实现树叶飘落动画
转载来源:http://ybzwz.com/article/gssieh.html

其他资讯