2010-02-27 126 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