2010-02-27 3 views
1

저는 아이폰을위한 나침반을 만들고 있습니다. 실험 목적으로 만 사용하고, 자바 스크립트에서는 phonegap을 사용하여이를 수행하는 방법을 배웁니다.각도가있는 나침반 회전 자바 스크립트 문제 - 회전/변환

이제 학위를 취득 할 수 있습니다. div에 0-360을 적용 할 수있었습니다. (예를 들어 "wheel"이라고 부름) webkit-transform translateZ (또는 rotate를 사용할 수 있습니다)

하지만 난 버그가 : 바퀴가 0deg에서 모든 것이 괜찮 359deg에 갈 때

,하지만 정도가되면 다시, 대신 원활하게 그 방향 (시계 방향)으로 회전 0deg하는, 다시 빠른 속도로 회전 positin 0deg에 반 시계 방향으로 ...

나는 예제가 없으면 설명하기 쉽지 않기 때문에 분명하지 않다. '

기본적으로 내 문제는 iphone에서 쉽게 얻을 수있는 값 0-360으로 시작하는 휠을 움직이게하는 올바른 스크립트를 찾는 것입니다.

모든 의견을 환영합니다. 당신보다 더 큰 360 여기 샘플의 취득시기를

+0

왜 투표를 취소 했습니까? – Pointy

답변

1

롤 : http://gutfullofbeer.net/rotate.html

[편집] 내가 시계 반대 방향으로 회전을 처리하는 코드를 업데이트했습니다. 여기 내 jQuery를 기반 자바 스크립트의 모습입니다 :

$(function() { 
    var rotator = function(class, inc) { 
     var degrees = 0; 
     return function() { 
     $('.' + class) 
      .css({'-webkit-transform': 'rotate(' + degrees + 'deg)'}) 
      .css({'-moz-transform': 'rotate(' + degrees + 'deg)'}) 
      ; 
     degrees += inc; 
     if (degrees > 360) degrees -= 360; 
     if (degrees < 0) degrees += 360; 
     }; 
    }; 
    setInterval(rotator('clockwise', 2), 33); 
    setInterval(rotator('counter-clockwise', -2), 33); 
    }); 
1

가 미안 ... 의견을 어떤 버튼이 표시 해달라고하지만 난 여기에 작성해야 ... 이 내 코드

℃,입니다 아이폰 나 개미이를 수 0 내지 360

document.getElementById를 ('mycompass') .style.webkitTransform = "rotateZ ("+ -deg + "°)"을 제공하는 값이고;

'mycompass'359로 이동 한 후 0, 그렇게 나를 위해 작동하지 않는 당신의 예에서 내가 360보다 큰 값을 가질 수 있습니다 ... 모든 방법을 다시

를 회전 ...

어디서 오류가 있습니까?

+0

코멘트를 만드는 버튼을 "코멘트 추가"라고하고 바로 아래에 있습니다 ... –

+0

idont는 그의 대답 아래 그것을 봅니다 ... 버그입니까? – Francesco

+0

@chpwn - "덧글 추가"기능을 사용하려면 50 명의 담당자가 필요합니다. @francescoB - 50 명을 얻는데 오래 걸리지 않습니다. 그때까지 이것은 괜찮습니다 ... –