000339043
2016-05-11 10:17
我想问下,每50毫秒加了很多小球,如果大于数组长度大于cnt 只删除了最后一个,那小球不是还会累加么?但真实情况为什么没有累加呢?
这里有个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!');
}
是每50毫秒 调用一次函数,也就会每50毫秒判断一次小球的位置,所以不会累加。(数字变一次才会加入小球,也就是1分钟)
大约cnt的全部删除了
炫丽的倒计时效果Canvas绘图与动画基础
96746 学习 · 1000 问题
相似问题