html5 - 像脉搏或心跳一样制作 2 个圆圈的动画
我正在尝试为两个圆圈设置动画,就像跳动的脉搏或心跳一样。我的想法是画一个小圆圈,然后在上面画一个更大的圆圈来模拟心跳,然后清除它并重复这个过程。
最好的方法是什么?我真的需要 3 个 setIntervals 吗?
100ms画小圆 200ms画大圆 300ms 时清除矩形
如果我这样做,一段时间后它会产生更多闪烁效果。如果我能让一个圆圈来做这件事,我希望能够做多个圆圈。
I am trying to animate 2 circles like that of a beating pulse or heart beat. My idea is to draw a small circle, then a bigger one on top simulating a heart beat and then clearing it and repeating this process.
What is the best way to do this? do I really need 3 setIntervals?
draw small circle at 100ms
draw big circle at 200ms
clear rect at 300ms
If I do it this way, after a while its more of a flashing effect. If I can get one circle to do this, I want to be able to do multiple circles.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你让它有点模块化怎么样..
在 http://jsfiddle.net/gaby/NyPZM/ 现场表演
How about you make it a bit modular..
Live and beating at http://jsfiddle.net/gaby/NyPZM/
你可以在一个间隔内完成它。只需有一个计数器并用它来确定需要绘制哪些圆圈即可。另外,您可能需要考虑使用 settimeout 并递归地调用新的 settimeout。 setinterval 可能会变得混乱,具体取决于在您的时间间隔内运行代码所需的时间。
编辑
类似这样的东西..
You could do it in one interval. Just have a counter and use that to figure out which circles need to be drawn. Also, you might want to consider using settimeout and have it recursively called new settimeouts. setinterval can get messed up depending on how long it takes to run the code in your interval.
Edit
Something like this..