问答详情
源自:5-1 性能优化

小球累加问题

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

提问者:000339043 2016-05-11 10:17

个回答

  • 小丑鱼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的全部删除了