2014-01-15 4 views
0

DOM에 새 요소를 추가하고 애니메이션을 적용하는 애니메이션 루프가 있습니다. 이것은 기본적으로 영원히 반복 될 수 있습니다. 내 질문은 각 애니메이션 사이클이 완료되면 DOM에서 요소를 제거하거나 페이지에 숨겨 두는 것이 더 낫다는 것입니다. 루프가 작동하는 방식으로 요소를 재사용 할 수 없으며, 다른 애니메이션이 완료되는 동안 새 애니메이션이 시작될 수 있으므로 주어진 시간에 여러 요소가 페이지에있을 수 있습니다. 이 질문은 다소 초보적인 것이지만 약간의 통찰력에 감사 할 것입니다. 감사.DOM에서 요소를 제거 할 때 성능에 미치는 영향은 무엇입니까?

+0

애니메이션을 다시 시작하려면 요소를 다시 초기 상태로 조작 할 수 없습니까? 코드를 보여주세요. 네가 정말로 그럴 수 없다면 더 잘 제거 할 수 있다고 생각해. – DontVoteMeDown

+0

나는 그것을 할 수있는 가능성이 재 작업, 나는 주어진 시간에 보이는 3 요소를 가질 수 있습니다. 그래서, 움직이는 시점을 알기 위해 애니메이션 루프에있는 곳을 추적해야합니다. 힘들지는 않지만 조금 더 많은 작업이 필요합니다. – user602525

+0

또한보십시오 – Philipp

답변

2

성능에 미치는 영향

거의을

. 그러나 메모리에 영향을 미칠 수 있습니다 - 숨겨진 요소로 DOM을 채우고 그렇게하지 않으려 고하지 않는 것은 악합니다. 물론, 어느 시점에서 전체 프로세스가 느려집니다.

DOM에서 요소를 제거하거나 페이지에 숨겨 두는 것이 좋습니다.

확실하게 제거하십시오.

루프가 작동하는 방식으로 요소를 재사용 할 수 없으므로 다른 애니메이션이 시작되는 동안 새로운 애니메이션이 시작될 수 있으므로 주어진 시간에 여러 요소가 페이지에있을 수 있습니다.

요소 풀을 유지 관리해도 여전히 재사용 할 수 있지만 그럴 필요는 없습니다. 오래된 것을 제거하고 새로운 것을 만드는 것이 좋습니다.

+0

감사합니다. 도움이되었습니다. – user602525

+0

맞습니다. IE에서 무한대로 추가 된 요소를 상상해보십시오. 젠장, ** 이건 악한 짓이야! – DontVoteMeDown

+0

요소를 제거하고 이상적인 하나의 작업으로 새 요소를 교체 할 수 있다면. DOM 조작은 지금까지 가장 느린 부분입니다. – Calvin

관련 문제