2012-09-13 5 views
1

단계 기능으로 문제가 발생했습니다. STEP 함수 내에서 복잡한 함수를 호출해야하지만 성능 향상을 위해 호출 수를 제한하려고합니다. 상황을 더 복잡하게 만들기 위해 저는 2 개의 속성을 애니메이션으로 만듭니다. 이 기능은 위치를 차지한다jQuery 애니메이션 단계 기능

obj.animate({'width':newWidth+px,'height':newHeight+px}, 
{duration:time,queue:false,step:function(now,fx){ 
    complicatedFunction(); 
}}); 

/를 OBJ의 치수는 다음 약 10 다른 요소에 대한 새로운 크기와 위치를 계산하기 때문에 간격은 매우 유동적해야한다 (아마도 모든 제 3 또는 제 4 회 반복?) 어떤 것 복잡한 함수가 호출되는 횟수를 제한하는 최선의 방법이 될까요? 감사 :

답변

1

가장 간단한 방법은 카운터를 사용하는 것입니다.

var counter = 0; 

obj.animate({'width':newWidth+px,'height':newHeight+px}, 
{duration:time,queue:false,step:function(now,fx){ 
    if (counter % 4 === 0) { // run function every 4 steps 
     complicatedFunction(); 
    } 
    counter++; 
}}).promise().done(complicatedFunction); 

이 방법을 사용하여, 당신은 또한 그것은 .promise().done() 콜백에서 실행해야합니다. (반영하도록 업데이트 됨)

+0

안녕하세요 Kevin;) 다시 한 번 감사드립니다! – Aaron

+0

하하, 나는 심지어 알지도 못했다. 문제 없어. :) –

관련 문제