??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
教你如何在网页上用利用H5快速实现动画效果

转载   纤纤郡主   2018-11-14   浏览量:17


在web开发中,GIF动画效果是随处可见,比如常见的loading加载、人物奔跑的gif图片等等,那么这些都是怎么实现的呢?
教你如何在网页上用利用H5快速实现动画效果
其实实现的原理很简单,简而言之,这些所谓的动画都是一帧一帧的图片经过一段时间的间隔做出位移而来的;譬如,我们在PS里面制作GIF动画,首先要把每一帧所需要的图片制作出来,然后再通过导出的方式把GIF图片保存下来;相信会PS的同学,都可以熟练的制作一个基本的GIF动画图片;在web开发中,要实现这样的gif图片,也有很多方法;在这给读者提供一个思路,就是利用html5 canvas实现动画效果。

利用canvas的drawImage把含有帧的图片加载到canvas中去,再结合js实现动画

<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<title>canvas帧--实现动画</title>
<style>
{padding:0;margin:0;}
canvas{display:block;background:white}
</style>
</head>
<body>
<canvas></canvas>
<script>
var imgPic = new Image();
imgPic.src = '//www.cj365.cc/demo/bird/bird.png';
var canvas = document.querySelector('canvas');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
var ctx = canvas.getContext('2d');
imgPic.onload = function () {
drawImg()
}
var i = 0;
var lastTime = new Date().getTime();
var delatime;
var timer = 0;
function drawImg() {
window.requestAnimationFrame(drawImg);
var now = new Date().getTime();
delatime = now - lastTime;
lastTime = now;
timer += delatime;
if (timer > 200) {
i++;
if (i > 7) i = 0;
timer = 0
}
console.log(delatime)
ctx.drawImage(imgPic, i
140, 0, 140, 85, (canvas.width - 140) / 2, (canvas.height - 85) / 2, 140, 85);
}
</script>
</body>
</html>

以上方法实现的前提是,需要有一张已绘制帧的图片,有了图片才可进行帧的动画;利用该方法可以控制动画的播放、暂停以及帧率

转载自://blog.51cto.com/14071672/2316867

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024



如何定义 select 默认不选中任何值
默认情况下select标签会选中第一个值作为默认值,当然我们也可以自己定义默认值。但我们现在的需求是不想选中任何默认值,有一种比较好的方法不影响美观也不影响用户体验,方法如下:&lt;select&nbsp;name=&quot;Environment&quot;&nbsp;id=&quot;id_Environment&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&
5月个人技术考核
<html><head><title>创建表格</title></head><body><tableborder="1"><tr><!--标签定义--><td>row1,cell1</td><!-定义单元格-><td>row
HTML实现文本框只读不能修改其中的内容
本文通过实例代码给大家介绍了 HTML实现文本框只读不能修改其中的内容的方法,需要的朋友参考下吧
快速解决input[type=file]打开时慢、卡顿的问题
下面小编就为大家带来一篇下面小编就为大家带来一篇快速解决input[type=file]打开时慢、卡顿的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Html 实现动态显示颜色块的报表效果(实例代码)
本文通过实例代码讲解如何使用html的颜色块动态展示数据功能,非常不错,代码简单易懂,需要的朋友参考下
区块链技术在金融领域应用发展情况
区块链对金融的改造主要分为三个方面:区块链技术与金融业相结合,必然会创造出越来越多的业务模式、服务场景、业务流程和金融产品1.具备改变金融基础架构的潜力;2.区块链技术的去中介化,能够降低交易成本;。报告对区块链技术在供应链金融、贸易金融(信用证、保函、福费廷、保理、票据)、征信、交易清算、积分共享、保险、证券等典型金融场景的应用展开梳理。1)供应链金融区块链技术可以实现供应链金融体系的信用穿透,
Web开发中常用中文字体名称的英文对应
中文字体名称的英文对应
html5、django上传文件
前端代码:<!DOCTYPEhtml><html><head><title>uploadFile</title></head><body><formmethod="POST"action="/upload"enctype="multipart/form-dat
Html页面中select下拉列表框别样用法,一个方法一劳永逸。
很多时候,我们写from表单面,给select标签赋值,都采用这种方式:1.MVC中设创建公共的分部视图;2.直接在前台面中,插入片段后台代码;今天我利用HTML5中的自定义属性,结合JQ扩展方法,写一个通用的JS方法,JS代码如下:$.fn.SetSelect=function(){returnthis.each(function(){varselect=$(this);varurl=$(thi
实现列表展开收起效果
$(".btn").click(function(){$(this).parents("当前元素最外层div的class").toggleClass("showDiv").siblings().removeClass("showDiv");});css:.最外层divclass.需要收起展开的div的class{dis