目前我的代码看起来像这样:
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旋转并将其从当前设备旋转中移除来实现,从而允许我的代码根据设备的保持方式运行。
问题是,虽然如果设备正常保持,这种方法可以正常工作,如果设备以极端角度开始,或者像在床上一样颠倒(在这种情况下,数字被反转并且我的代码向后工作!)。
无论设备如何保持,我如何才能实现这一目标?