2010-02-27 290 views
1

我正在爲iPhone創建一個指南針,嗯,只是爲了實驗目的,並學習如何做到這一點,在JavaScript中,與phonegap。指南針旋轉角度的問題 - 旋轉/翻譯

現在我已經能夠獲得度數,我能夠使用webkit-transform translateZ(或者我可以使用旋轉)將deg 0-360應用到div(我們稱之爲「輪子」)。

,但我有一個bug:

當車輪轉到從0deg到359deg一切正常,但當度去0deg再次,而不是順利的方向(順時針方向),其旋轉,再次快速旋轉逆時針的positin 0deg ...

我不知道我很清楚,因爲不容易解釋沒有一個例子....'

基本上我的問題是找到正確的腳本來移動從0-360的價值開始,我可以輕鬆地從iPhone輕鬆開始。

歡迎任何建議。

+0

爲什麼這是低票? – Pointy 2010-02-27 17:16:19

回答

1

滾動,當你得到大於360這裏有一個樣品過來:http://gutfullofbeer.net/rotate.html

[編輯]我已經更新了代碼來處理逆時針旋轉。下面是我基於jQuery的Java腳本的樣子:

$(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

我沒有看到任何按鈕進行評論...對不起,但我要在這裏寫...... 這是我的代碼

是,iphone給我螞蟻它可以0到360

的document.getElementById( 'mycompass').style.webkitTransform = 「rotateZ(」 + -deg + 「度)」 的值;

mycompass」去359,然後0時,旋轉一路回來......

在你的例子我能比360更大的值,所以它並沒有爲我工作...

我的錯誤在哪裏?

+0

作出評論的按鈕被稱爲「添加評論」,並在答案下方... – 2010-02-27 21:16:05

+0

idont在他的答案下看到它...它是一個錯誤? – Francesco 2010-02-27 21:35:25

+0

@chpwn - 「添加評論」功能需要50個代表; @francescoB - 獲得50名代表不需要很長時間;直到那時這很好... – 2010-02-28 08:34:27