2011-04-06 1 views
0

기본적으로, 나는 반세기마다 카운트하는 타이머를 사용하고 있습니다. 따라서 학위를 업데이트해야하고 div를 새로운 각도로 회전해야합니다. 이것의 최종 결과는 (이론적으로) 다소 매끄럽고 끊임없이 회전하는 div가되어야합니다.div 요소를 jQuery 제어로 변환하려고합니다. css3 transform 명령

슬프게도, 콘솔 로그에 따르면 숫자가 계속 증가하더라도 1도 회전하고 다시 학위가 갱신되지 않습니다.

제안 사항?

setInterval(function() 
    { 
     var i = 0; 
      i++; 

     $('#nav').css({'-webkit-transform' : 'rotate(' + i + 'deg)'}); 

     console.log(i); 
    } 
    , 1000); 

고마워요!

답변

7

이 기능을 사용하면 다시 0으로 변수 i을 설정하는 호출 될 때마다 :

var i = 0; 

... 다음 하나를 추가.

i++; 

그래서 항상 "1"이됩니다. 해당 값을 다른 곳에 저장하거나 매번 CSS 속성에서 파싱 한 다음 추가해야합니다.

var rotate_degrees = 0; 

setInterval(function() 
{ 
    rotate_degrees++; 
    $('#nav').css({'-webkit-transform' : 'rotate(' + rotate_degrees + 'deg)'}); 
    console.log(rotate_degrees); 
} 
, 1000); 

내부 반대로 차가 외부 함수의 범위를 varialbe 선언되고 무엇이 : 여기서는 예로서 전 해법이다.

+0

물론! 내가 얼마나 어리석은 이것을 알지 못한다! 감사합니다. – mattelliottIT

1

항상 rotationCount 같은 뭔가 이름 1. 변경하고 글로벌 (모든 기능의 예를 들면 외부) 또한

를 선언합니다 그래서 함수에 로컬 변수, 당신은 모듈라 (360)을 수행 할 것 산수.