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