首页 > 编程 > HTML > 正文

HTML5和Webkit实现树叶飘落动画

2020-03-24 15:46:29
字体:
来源:转载
供稿:网友
HTML5和Webkit在一起会实现什么样的动画呢?本文给大家分享一段实例代码给大家介绍基于HTML5+Webkit实现树叶飘落动画效果,需要的朋友参考下吧,希望能帮组到大家。

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

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实现树叶飘落的效果

jQuery+CSS3实现树叶飘落特效_jquery

逼真的HTML5树叶飘落动画_html5教程技巧

以上就是HTML5和Webkit实现树叶飘落动画的详细内容,其它编程语言

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表