2014-04-08 2 views
2

나는 setInterval이 매 0.25 초마다 실행되는 많은 document.getElementById을 사용하는 웹 사이트 게임을 만들고 있습니다. 이로 인해 내 웹 사이트가 잠시 후 속도가 느려집니다. Javascript가 새로 도입되었지만 HTML element을 호출하고 업데이트하거나 게임 대기 시간을 포함하고 매 1 초마다 실행되는 효과적인 루프를 만드는보다 효과적이거나 효율적인 방법이 있는지 궁금합니다.해결 방법 getElementById

+2

에서 getElementById는,이 요소를 선택하는 가장 효율적인 방법입니다 네이티브 구현보다 자신의 코드. – adeneo

+0

코드를 제공하면 도움이 될 것이므로 문제에 대한 해결책을 찾아보십시오 – n1kkou

+0

http://stackoverflow.com/questions/7322078/jqueryid-val-vs-getelementbyidid-value –

답변

0

미리 캐시를 모든 ID 년대. (의사 코드)의 라인

뭔가 :

var all_objects = []; 
... 
onCreateObject = function(){ 
    all_objects.push(newObject.id) 
} 

후 바로 all_objects 변수를 통해 반복.

루프 자체에 관해서는, 솔루션은 이미 거기에있다 : 원인이 될 가능성이 높습니다 당신의 performace 문제가 발생하는 경우, 그래서 http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/

+0

정말 유망한 전성기 ID의 소리! 그리고 루프 솔루션 링크에 감사드립니다. 나는 지금 내 ID를 미리 캐시하는 법에 대해 구글을 할 것이다. – Turbotanten

0

설정 변수 외부 (위)하여 setInterval을 기능 :

var myDiv = document.getElementById("ID"); 

다음에서는 setInterval 함수 내에서 그들에게 전화 :

myDiv.something()