【Web前端问题】JS检测设备方向疑问

图片描述

<!doctype html>

<html lang="zh">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<p id="tip"></p>

<script>

window.addEventListener('deviceorientation', function (orientData) {

document.getElementById('tip').innerHTML = orientData.alpha;

});

</script>

</body>

</html>

手机扫描二维码查看效果,现在的效果是进入页面后晃动手机会显示手机X轴的角度信息,到达0度临界值的时候,左右晃动手机角度的变化规律是357,358,359,0,1,2,3以此类推的这种格式,有没有办法更改成到达0度的时候是-3,-2,-1,0,1,2,3,到达359的时候是357,358,359,360,361,362的这种格式呢?

回答:

谢邀,我没做过,提供一个想法吧你做一个全局变量。你用系统自带的判断是左右移动,然后你给的全局变量做加减。这样不就可以了

回答:

这个不是很好实现,因为你不知道用户初次打开是处于什么状态,如果不考虑这个因素,可以做个类似分页的效果,比如初始page=1,实时检测动向,比如1-2,认为是+,反之认为是-,如果+的情况,突然减少300多,则是page+1,如果-的情况突然增加300多,则是page-1,不过不排除快速旋转时会出现什么异常,个人没这样尝试过,只说一下想法

回答:

加个定时器,把几十毫秒之前的数据记录下来,然后到 0 和 360 附近的时候根据之前记录的数据自己调整

以上是 【Web前端问题】JS检测设备方向疑问 的全部内容, 来源链接: utcz.com/a/136026.html

回到顶部