为了账号安全,请及时绑定邮箱和手机立即绑定

怎样让一个元素按圆的轨迹运动?

怎样让一个元素按圆的轨迹运动?

aluckdog 2019-04-21 20:41:29
我试了一下用setInterval来做运动,取圆轨迹的“坐标”,但运动速度比较慢,程序的效率好像也比较低。怎样做比较好?另外,有点疑问:setInterval(function(){},time)这里的time可以用小数吗?我尝试了一下,好像用小数和1的效果是差不多的。是这样的吗?
查看完整描述

2 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

javascriptx=r*Math.cos(omega*t)+x0;
y=r*Math.sin(omega*t)+y0;
參數方程而已嘛。。。
omega是角速度,調大一點。。。
另外動畫我們一般用requestAnimationFrame,幀頻60fps,如果是setTimeout則既不精確也不準確。(所以設置小數是毫無意義的,設置小於15的數是沒用的(有些瀏覽器是5))
1000/15約等於66然而由於不穩定誤差很大所以實際上會很卡。。。
另外用lefttop做動畫效率很低因爲會reflow+repaint該元素及牽扯到的其它元素,建議改用csstransform
                            
查看完整回答
反对 回复 2019-04-21
  • 2 回答
  • 0 关注
  • 438 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号