扫码关注官方订阅号
请问如何让 转盘 缓动加速到最高速度后,继续保持最高速度的 恒速 循环旋转?
并在 5秒后 才缓动减速,直到停止呢?
P.S:就相当于汽车从0加速到120,然后持续了5秒,再降到0的过程,不使用css3实现。
这里是示例地址,谢谢!http://jsbin.com/yeholemexe/e...demo
欢迎选择我的课程,让我们一起见证您的进步~~
var deg = 0 var sTime = Date.now() var duration = 1000 var p = 0 var speed = 0 var maxSpeed = 15 var stopDeg = null var canvas = document.querySelector('.dial') setTimeout(function () { stopDeg = 78 sTime = Date.now() duration = 3000 }, 5000) ; (function loop() { requestAnimationFrame(function () { p = (Date.now() - sTime) / duration if (stopDeg) { speed = maxSpeed * (1 - p) if (speed <= 0) return speed = 0 } else { speed = maxSpeed * p if (speed > maxSpeed) speed = maxSpeed } deg += speed canvas.style.transform = 'rotate(' + deg + 'deg) translate3d(0,0,0)' loop() }) })()
代码有些难看,不过实现了
css动画 ease-in-out 就有个加速 减速过程啊
谢邀。来晚了。顺手赞个。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
代码有些难看,不过实现了
css动画 ease-in-out 就有个加速 减速过程啊
谢邀。来晚了。顺手赞个。