小球累加问题

来源:5-1 性能优化

000339043

2016-05-11 10:17

我想问下,每50毫秒加了很多小球,如果大于数组长度大于cnt   只删除了最后一个,那小球不是还会累加么?但真实情况为什么没有累加呢?

写回答 关注

3回答

  • 小丑鱼yang
    2017-05-20 14:39:10

    这里有个Bug,就是离开页面以后小球会堆积或者说是小球不一会运动了。这个原因是因为我们没有停留在当前页面,计时器会照常执行但是不会一直刷新动画效果。解决这个问题的方式就是通过document.hidden来判断是否停留在当前页面,这个方式会存在兼容性问题,所以我们要这样写var hiddenProperty = 'hidden' in document ? 'hidden' :    

        'webkitHidden' in document ? 'webkitHidden' :    

        'mozHidden' in document ? 'mozHidden' :    

        null;

    并在计时器内调用if(!document[hiddenProperty]){

    render(context);

    updateTime(); 

    }else{

    console.log('not current pages!');

    }


  • 云影杳杳
    2016-11-05 23:28:52

    是每50毫秒 调用一次函数,也就会每50毫秒判断一次小球的位置,所以不会累加。(数字变一次才会加入小球,也就是1分钟)

  • fengyunzhu
    2016-05-11 12:15:51

    大约cnt的全部删除了

炫丽的倒计时效果Canvas绘图与动画基础

学习HTML5中最激动人心的技术Canvas,彻底释放自己的创造力

96746 学习 · 1000 问题

查看课程

相似问题