html火箭动态显示原理剖析

本文通过介绍如何设计一个动态的小火箭,展示了利用JS和HTML实现动态效果的原理。作者首先提出将火箭的每一帧图片保存为字符串数组,通过改变div的background-image属性来切换图片。接着,作者分享了Robby Leonardi简历中动态效果的实现方法,即使用一张包含所有帧的长图,通过改变图片块的位置来模拟动画效果。通过设置定时器和调整图片块位置,实现了火箭的循环动画。最终,作者展示了自己的成果并附上了火箭动态显示的JS代码。
摘要由CSDN通过智能技术生成

叨逼逼

设计个人简历时,我遇到的第一个问题就是如何让我的小火箭动起来。

设计历程

一开始,我的思路是:将火箭每一帧图片的url保存为一个字符串数组,然后使用JS对div标签的background-image属性进行更改切换,以达到让火箭动起来的目的。

之后,我阅读Robby Leonardi个人简历时发现,他让小人动起来的原理是这样的:

原理示意图

正如原理图所示,所有帧的图片合成一张大的图片,而且帧与帧之间没有间隙,我是为了方便观看而加上的间隙。图片在网页中的可见范围正好为一张图片大小。

这里需要两个div块。一个div块表示可见范围,我暂且叫它可见范围块。可见范围块内嵌入一个div块,这个div块我叫它动画图片块。Ps:可见范围块要设置宽高为一帧图片的大小,并且overflow设置成hidden。

设置一个interval的计数器,固定时间改变图片块的位置。使下一帧图片处于与可见范围块重合的位置。当切换到最后一帧时,循环切换回第一帧。所以,这样就实现了让小人动起来。

切换下一帧后原理示意图

最终成果

我所做的最终结果如下图所示。
火箭图片

火箭图片

js代码

JS代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值