这里requestAniamtion有什么作用

这里requestAniamtion有什么作用

我的意思是说基本上是step实现的,要实现回调step内部调用自己不就行了吗。看不出这里requestAniamtion具体起的作用是什么

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕星星 2020-06-23 13:57:55

同学你好,requestAnimationFrame和setTimeout这两个从实现效果上没有区别,主要是不是自己手动添加执行时间有动画过程的区别。

requestAnimationFrame不需要手动添加时间就有动画过程;setTimeout是手动添加动画时间才有动画过程。使用哪个都可以。课程中也是用了兼容,如果浏览器不支持的requestAnimationFrame的话,就使用定时器。

祝学习愉快!

好帮手慕星星 2020-06-23 11:52:56

同学你好,window.requestAnimationFrame() 告诉浏览器你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行。最主要的是这个方法执行回调函数是有时间间隔的,也就是可以看到元素是有动画的。

如果不使用window.requestAnimationFrame(),step内部调用自己,点击按钮,元素就会直接移动到右侧。没有过渡动画。

自己可以测试下,祝学习愉快!

  • 提问者 慕雪9296518 #1
    可能是我说的不仔细,我的意思是说step()中加个settimeout的情况下,一样可以实现那个动画,结合step()回调自己,requestAnimationFrame和settimeout的区别是什么
    2020-06-23 12:00:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师