requestAnimationFrame API으로 작업하는 동안 문제가 발생했습니다. 구조체 내가 사용하는 것은 잘못되었지만 나에게 논리적 인 것처럼 보일 수 있습니다.requestAnimationFrame/cancelAnimationFrame의 올바른 사용
은 내가 기본적으로 할 것은 무한 떨어지는 효과를 위해 아주 쉬운 배경 위치 조작입니다 : 사실
(이 버전은 간단하지만, 실증한다)
cache.mechanism.snowFall = function(){
cache.snow.position.y ++;
if(cache.snow.position.y > cache.viewport.height){
cache.snow.position.y -= cache.viewport.height;
}
cache.snow.elem.style.backgroundPosition = "0px " + cache.snow.position.y + "px";
requestAnimationFrame(cache.mechanism.snowFall);
};
, 그것은 배경 위치 x 1 픽셀 이동 모든 애니메이션 프레임마다 낮아집니다. (재설정 할 때이 켜지지 높은 페인트 시간을 방지 할 수있는, 그리고 FPS 손실)
내가 호출하여 초기화 :
cache.mechanism.snowFall();
그래서, 그것은 매우 높은 FPS로, 잘 실행하지만 수 없습니다 그것을 막을 수 있습니다.
cancelAnimationFrame(cache.mechanism.snowFall);
- 아무것도 표시하지 않고 정의되지 않은 값을 반환합니다.