指南针纺纱JavaScript的问题角度 - 旋转/翻译(Compass spinning java

2019-10-20 02:09发布

我建立一个指南针为iPhone,咄,只是为了实验的目的,并学习如何做到这一点,在JavaScript中,与PhoneGap的。

现在我已经能拿到学位,我能够在0-360度应用到一个div使用WebKit的变换translateZ(我们称之为“车轮”)(或者我可以使用旋转)

但我有一个错误:

当车轮从0deg到359deg一切都正常,但在程度去0deg再次,而不是在平稳方向(顺时针)旋转是,它再次迅速反时针旋转到positin 0deg ...

我不知道我很清楚,因为是不容易没有一个例子来解释......”

基本上我的问题是要找到移动开始与值0-360,我可以从iPhone获得轻松的轮合适的剧本。

任何建议,欢迎。

Answer 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);
  });


Answer 2:

我没有看到任何按钮进行评论...对不起,但我要在这里写的...这是我的代码

是值该iphone给我蚂蚁它可以为0〜360。

的document.getElementById( 'mycompass').style.webkitTransform = “rotateZ(” + -deg + “你)”;

“mycompass”去359,然后0,它旋转一路回来......

在您的例子我能有比价值360更大,所以它并没有为我工作...

哪里是我的错误?



文章来源: Compass spinning javascript problem with angle - rotate/translate