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

小球会堆积

为什么暂时离开页面后回来小球会堆积, ?

提问者:谜语 2016-07-07 19:05

个回答

  • 小丑鱼yang
    2017-05-20 14:38:21

    这里有个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!');

    }


  • 标标哟
    2017-03-08 13:46:46

     //Math.min();两个数取最小值
    
     while(balls.length>Math.min(250,cnt)){
    
      balls.pop();//删除第cnt个到balls.length-1个数组
    
     }
     //使用上面的循环方式代替下面的循环方式就可以了
    
     /*while(balls.length>cnt){
    
      balls.pop();//删除第cnt个到balls.length-1个数组
    
     }*/

    使用上面的循环方式代替下面的循环方式就可以了

  • 小蚁
    2016-10-17 16:23:39

    那关了定时器,不就不动了嘛

  • sycbbb
    2016-07-08 16:42:51


    其实这个遗留的bug,定时器没有关闭定时器造成的