角度旋转/平移罗盘旋转javascript问题
我正在为iphone构建一个指南针,duh,只是为了实验目的,并学习如何用javascript和phonegap实现它 现在我已经能够获得度了,我能够使用webkit transform translateZ(或者我可以使用rotate)将0-360度应用于div(我们称之为“轮子”) 但我有一个错误: 当车轮从0度旋转到359度时,一切正常,但当度再次旋转到0度时,车轮不是顺时针平稳旋转,而是逆时针快速旋转到0度位置 我不知道我是否清楚,因为没有一个例子就很难解释 基本上,我的问题是找到正确的脚本来移动轮子,从值0-360开始,我可以从iphone轻松获得角度旋转/平移罗盘旋转javascript问题,javascript,webkit,iphone,compass-geolocation,Javascript,Webkit,Iphone,Compass Geolocation,我正在为iphone构建一个指南针,duh,只是为了实验目的,并学习如何用javascript和phonegap实现它 现在我已经能够获得度了,我能够使用webkit transform translateZ(或者我可以使用rotate)将0-360度应用于div(我们称之为“轮子”) 但我有一个错误: 当车轮从0度旋转到359度时,一切正常,但当度再次旋转到0度时,车轮不是顺时针平稳旋转,而是逆时针快速旋转到0度位置 我不知道我是否清楚,因为没有一个例子就很难解释 基本上,我的问题是找到正确的
欢迎您提出任何建议。当您超过360时,请翻滚。以下是一个示例: [编辑]我已更新代码以处理逆时针旋转。以下是我基于jQuery的Javascript的外观:
$(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);
});
$(函数(){
var旋转器=功能(类别,inc){
变量度=0;
返回函数(){
$('..+类)
.css({'-webkit transform':'rotate('+degrees+'deg')})
.css({'-moz transform':'rotate('+degrees+'deg')})
;
度+=公司;
如果(度>360)度-=360;
如果(度<0)度+=360;
};
};
设定间隔(旋转器('顺时针',2),33);
设定间隔(旋转器('逆时针',-2),33);
});
我看不到任何可以发表评论的按钮……对不起,我必须在这里写。。。
这是我的密码
deg是iphone给我的值,它可以从0到360
document.getElementById('mycompass').style.webkittTransform=“rotateZ(“+-deg+“deg”)
当“mycompass”变为359然后变为0时,它会一直向后旋转
在你的例子中,我可以有大于360的值,所以它对我不起作用
我的错误在哪里?为什么投票被否决了?发表评论的按钮被称为“添加评论”,就在答案的正下方……我在他的答案下看不到它……这是一个bug吗?@chpwn-“添加评论”功能需要50次重复@弗朗西斯科-不需要很长时间就可以获得50个代表;在那之前这是好的。。。