HTML5 / Javascript(devicemotion / deviceorientation)将旋转值重置为零,具体取决于用户在运行代码时如何握住设备

时间:2016-11-01 17:01:08

标签: javascript html5 devicemotion

目前我的代码看起来像这样:

window.ondevicemotion = function(event) {
  if ( offsetX === undefined) {
    offsetX = event.accelerationIncludingGravity.x;
  } else {
    event.stopPropogation;
  }
  var x = (event.accelerationIncludingGravity.x) - offsetX; 
  $('.wrapper').css({'perspective-origin': (50+(-x*4))+'% 0%'});
};

这可以通过抓取初始X旋转并将其从当前设备旋转中移除来实现,从而允许我的代码根据设备的保持方式运行。

问题是,虽然如果设备正常保持,这种方法可以正常工作,如果设备以极端角度开始,或者像在床上一样颠倒(在这种情况下,数字被反转并且我的代码向后工作!)。

无论设备如何保持,我如何才能实现这一目标?

0 个答案:

没有答案