仿抖音小球刷新进度条(两个小球转动),代码很简单

本文展示了如何使用JavaScript和Canvas创建类似抖音进度条中的小球旋转动画,包括两种不同的实现效果:小球沿着轨道移动和小球大小变化。通过构造函数创建小球,然后进行渲染和动画处理,最终提供完整的封装代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看看效果

 

另外一种效果

 

实现思路

1.绘制好两个小球

2.让左边小球的圆心X增加,右边小球圆心X的减少,到了一定位置再回转(第1种效果)

  让两个小球一个scale增加,一个scale减少,到一定范围后反转(第2种效果)

 

创建小球的构造函数

//构造函数
	 function Ball(o){
		this.x=0,//圆心X坐标
		this.y=0,//圆心Y坐标
		this.r=0,//半径
		this.startAngle=0,//开始角度
		this.endAngle=0,//结束角度
		this.anticlockwise
在模仿风格的小球刷新进度条效果时,通常我们会创建一个圆形或椭圆形状的小球动画,随着滚动或数据更新而上下移动,并模拟加载过程中的动态视觉反馈。这个过程可以用CSS3动画配合JavaScript或者HTML5 Canvas实现。 步骤大致如下: 1. **HTML结构**:创建一个包含小球元素(通常是SVG或div)的容器,并设置初始位置。 ```html <div class="refresh-indicator"> <svg> <circle cx="50%" cy="50%" r="20" fill="transparent" stroke="#fff" stroke-width="4" /> </svg> </div> ``` 2. **CSS样式**:定义动画的关键帧,让小球上下移动并改变透明度。 ```css .refresh-indicator { position: relative; overflow: hidden; } .refresh-indicator circle { animation: bounce 2s ease infinite; } @keyframes bounce { 0% { transform: translateY(0); } 50% { transform: translateY(-10px); opacity: 0.6; } 100% { transform: translateY(0); } } ``` 3. **JavaScript控制**:如果需要,可以添加事件监听器来触发动画开始、暂停或停止。例如,在数据更新时启动或暂停动画。 ```javascript const indicator = document.querySelector('.refresh-indicator'); let isRefreshing = false; // 模拟数据更新 function updateData() { if (isRefreshing) return; isRefreshing = true; indicator.classList.add('animating'); // 添加动画类名 setTimeout(() => { isRefreshing = false; indicator.classList.remove('animating'); // 动画结束后移除动画类名 }, 2000); } // 触发更新 updateData(); ```
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程界小明哥

请博主喝瓶水,博主持续输出!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值