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

用什么方式才能return出这段递归代码,不再执行该方法?

用什么方式才能return出这段递归代码,不再执行该方法?

Cats萌萌 2018-10-24 18:09:18
var before = null; requestAnimationFrame(function animate(now) {            var c = earth.getPosition();             elapsed = before? now - before: 0;            before = now;             earth.setCenter([c[0], c[1] + 0.1*(elapsed/30)]);             requestAnimationFrame(animate);                                 });before变量是开关变量,怎么通过开关去判断requestAnimationFrame(animate)方法是否去执行?现在需要停止这个动画方法,该怎么做?
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

requestAnimationFrame是一个只执行一次的函数,具体的执行时间由浏览器决定,基本上是浏览其执行下一次paint的时刻。

var before = null;

requestAnimationFrame(function animate(now) {

            var c = earth.getPosition();

            elapsed = before? now - before: 0;

            before = now;

            earth.setCenter([c[0], c[1] + 0.1*(elapsed/30)]);

            if(before){//加入自己的判断逻辑,决定在下一次repaint时是否执行

                requestAnimationFrame(animate); 

            }

                                           

});


查看完整回答
反对 回复 2018-11-18
  • 1 回答
  • 0 关注
  • 467 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信