【发布时间】:2019-11-01 02:13:20
【问题描述】:
我创建了the following widget (see demo here) 来模仿 chrome 开发人员选项卡上的传感器选项卡:
我的代码监听设备的方向事件并尝试转换值以适应 css 变换比例,如下所示:
let phone = document.querySelector(".phone");
window.addEventListener('deviceorientation', (event) => {
phone.style.transform =
"rotateY(" + ( event.alpha) + "deg) "
+
"rotateX(" + (90 - event.beta) + "deg) "
+
"rotateZ(" + (event.gamma ) + "deg)";
})
但是,如果我对这些值进行了足够的调整,我的小部件和 chrome 小部件就会不同步。显然,我的计算是错误的,我错过了什么?
要测试我的代码,只需转到demo 打开开发工具传感器选项卡并使用小部件。
任何帮助将不胜感激。
更新: 进入传感器选项卡:打开开发工具,按 Esc,在第二个面板上单击左侧的 3 点并选择传感器。
更新:
有问题的值示例如下:
阿尔法:-77.6163
测试版:-173.4458
伽玛:-40.4889
【问题讨论】:
-
幸运的是我们可以学习the source code for this dev tool
标签: javascript css 3d transform orientation