html动画效果代码初学(html特效代码大全分享)
本周在给学生讲授JavaScript课程中setInterval方法时,想到了我们在网上看到的各类GIF动图比较有意思,就将其引入到教学中,教学内容设计如果通过HTML5与JavaScript实现网页类似GIF效果的动态图。于是在网上搜集了部分gif格式动图,将每一个Gif动图分解为一组jpg格式图片,再采用setInterval与html5 Canvas进行动画的实现。通过学习可以让学生进一步了解canvas动画实现的过程与原理。并将其发布到头条,也希望对有兴趣的初学者了解HTML5 Canvas等有所帮助。图片分组图片素材如下:
素材一
实现动画的素材我们已经给出,主要通过gif动图导出一组图片,下面对html5动画实现过程进行简单说明。
基本思路
实现其动画的基本思路是通过HTML5提供的canvas元素进行图片的绘制与展示,借助setInterval方法实现间隔指定时间调用新的图片实现重新绘图。其中绘图主要使用drawImage方法进行绘图,最终通过图片依次重绘实现动画效果。具体实现过程如下:
HTML5 Canvas设置
在页面body部分添加Canva标签,设置其id属性为canv,宽度为600,高度为400,编写代码描述如下图:
添加画布元素
canvas浏览效果
加载图片资源
使用Canvas借助JavaScript提供的drawImage方法进行绘图,需要提供要绘制的图片资源即绘图的坐标位置。该方法原型如下:
drawImage方法原型
因此我们需要加载图片资源,本例由于需要调用多个img实现定时不同图片的绘制,因此我们可以使用数组存储所加载的图片资源。本例图片数量为14,因此我们数组长度为14。使用素组存储图片实现代码如下:
加载图片资源代码
定义页面加载事件onload
本例设计在页面加载时自动播放动画,因此需要在JavaScript脚本中添加页面onload事件,在事件中编写绘图相关代码,主要代码包括获取画布canva与实例化绘图对象context。部分代码描述如下:
onload事件及绘图初始化
使用setInterval实现动画
使用setInterval方法实现动画主要需要定义回调函数与回调函数触发执行的周期,本例中我们使用匿名函数作为回调函数,触发周期设置为100毫秒。setInterval函数定义如下:
setInterval函数
在定义完函数之后可在其匿名函数函数体部分写入绘图方法dramImage(),实现周期调用不同图片资源进行绘图,最终展示出动画效果。为了保证循环调用14张图片,我们需要设置一计数全局变量i,由于我们图片采用数组存储,下标为数组,且从0-13进行编号,因此当计数值小于13时自动+1,指向下一数组下标,当为13时,设置计数值为0,回到数组第一元素,最终实现数组访问下标的循环。setInterval实现完整代码如下:
setInterval完整代码
实现效果展示
HTML动画效果展示
本头条号长期关注编程资讯分享;编程课程、素材、代码分享及编程培训。
其他文章
- 抖音账号名字怎么改(抖音修改自己的昵称)
- ps如何快速复制图层(ps中图层复制的六种方法)
- mp3分割最简单方法(mp3音频裁剪教学)
- 罗技鼠标自定义按键怎么设置(罗技lift鼠标说明书)
- 3000元组装电脑配置推荐(台式电脑最佳配置清单)
- 内存条什么品牌最好(国产内存条排名)
- 怎么删除电脑开机密码(清除电脑密码的最简单的方法)
- win7麦克风没声音怎么设置(打开麦克风权限设置)
- 广域网访问设置是什么意思(有关广域网访的讲解)
- ipad插画软件有哪些(好用的ipad绘画软件推荐)
- 抖音换不了头像怎么回事(抖音头像限制换了的解决办法)
- 淘宝卖家信用度在哪看(关于淘宝卖家信誉查看方法)
- i7系列处理器性能排名(英特尔酷睿i7处理器排名分享)
- 隐形降权查询网站是什么(淘宝隐形降权查询入口分享)
- 直播需要的设备有哪些(直播设备清单一览表)
- 淘宝网店装修设计(淘宝店铺装修案例分析)
- 如何提高电桥的灵敏度(详解电桥的原理及作用)
- 怎么注册淘宝小号(正确注册淘宝号的方法)
- 视图的作用是什么(视图创建于作用详解)
- 淘宝金牌卖家是什么意思(关于金牌卖家的解释)
- 淘宝怎么清空购物车让别人代付款(2023年清空购物车活动)
- 电脑一直刷新闪屏(电脑屏幕闪烁黑屏的解决办法)
- 淘宝助理怎么用(关于淘宝助理使用教程)
- 天猫现金红包怎么抢最快(天猫双十一红包的领取)
- 怎么知道淘宝店铺是不是正品(淘宝店铺正品判断技巧)
- 平板控制电脑的软件哪个好(安卓平板远程连接电脑的办法)
- 淘宝网手机店是正品吗(在淘宝旗舰店买手机的鉴别方法)
- 字节跳动教育板块叫什么(2023最新字节跳动组织架构图)
- mp3音频怎么剪辑(剪辑音乐的方法分享)
- b站视频剪辑软件app叫什么(零基础学视频剪辑教程)