实现如图所示的东西效果(落叶下落):
html代码:
!DOCTYPE html html head title HTML5树叶飘落动画 /title meta charset= utf-8 meta name= viewport content= width=500px, initial-scale=0.64 link rel= stylesheet href= leaves.css type= text/css script src= leaves.js type= text/javascript /script /head body p id= container p id= leafContainer /p p id= message em 这是基于webkit的落叶动画 /em /body /html 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; font-weight: bold; font-style: normal;#leafContainer p { position: absolute; width: 100px; height: 100px; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: normal; -webkit-animation-timing-function: linear;#leafContainer p 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 leafp = document.createElement( p leafp.style.top = -100px leafp.style.left = pixelValue(randomInteger(0, 500)); leafp.style.webkitAnimationName = fade, drop var fadeAndDropDuration = durationValue(randomFloat(5, 11)); leafp.style.webkitAnimationDuration = fadeAndDropDuration + , + fadeAndDropDuration; var leafDelay = durationValue(randomFloat(0, 5)); leafp.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; leafp.appendChild(image); return leafp;window.addEventListener( load , init, false);
PS:下面看下html5 canvas处理连续帧图片,下面的代码基于IE8以上
!DOCTYPE html html head meta charset= utf-8 meta name= viewport content= width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no / title Canvas Demo /title script var canvas = null;//初始化参数var img = null;var ctx = null;var imageReady = false;window.onload = function() { var canvas = document.getElementById( animation_canvas canvas.width = canvas.parentNode.clientWidth; canvas.height = canvas.parentNode.clientHeight; if (!canvas.getContext) { console.log( Canvas not supported. Please install a HTML5 compatible browser. return; // get 2D context of canvas and draw rectangel ctx = canvas.getContext( 2d ctx.fill >相关推荐:
使用Html5实现树叶飘落的效果
逼真的HTML5树叶飘落动画_html5教程技巧
以上就是HTML5和Webkit实现树叶飘落动画的详细内容,其它编程语言
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答