在 HTML5 中,功能提供的事件封装了设备运动传感器的时间。通过改变时间,可以获取设备的运动状态、加速度等数据(也有提供设备角度、方向等信息的事件)。
通过判断设备的运动状态,可以帮助我们在网页上实现“摇”的交互效果。
运动事件监控
if (window.DeviceMotionEvent) {
window.addEventListener('devicemotion', deviceMotionHandler, false);
} else {
alert('你的手机太差了,买个新的吧。');
}
获取加速度信息
“晃动”的动作是“一定时间” 因此,通过监测上一步得到的x、y、z值在一定时间范围内的变化率,可以判断设备是否正在颤抖。为了防止误判正常运动,需要为变化率设定一个合适的临界值。
function deviceMotionHandler(eventData) {
var acceleration = eventData.accelerationIncludingGravity;
var curTime = new Date().getTime();
if ((curTime - last_update) > 100) {
var diffTime = curTime - last_update;
last_update = curTime;
x = acceleration.x;
y = acceleration.y;
z = acceleration.z;
var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;
var status = document.getElementById("status");
if (speed > SHAKE_THRESHOLD) {
doResult();
}
last_x = x;
last_y = y;
last_z = z;
}
}
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容