简要咨询咨询QQ网站导航网站搜索手机站点联系我们设为首页加入收藏 

基于html5 DeviceOrientation 实现微信摇一摇功能

来源:易贤网   阅读:1186 次  日期:2016-07-09 10:27:24

温馨提示:易贤网小编为您整理了“基于html5 DeviceOrientation 实现微信摇一摇功能”,方便广大网友查阅!

微信摇一摇添加好久,很多朋友都在玩,那么基于html5 DeviceOrientation 如何实现微信摇一摇功能的呢?下面由脚本之家小编把详细内容分享给大家,供大家参考。

在HTML5中,DeviceOrientation特性所提供的DeviceMotion事件封装了设备的运动传感器时间,通过改时间可以获取设备的运动状态、加速度等数据(另还有deviceOrientation事件提供了设备角度、朝向等信息)。

而通过DeviceMotion对设备运动状态的判断,则可以帮助我们在网页上就实现“摇一摇”的交互效果。

运动事件监听

代码如下:

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;

}

}

更多信息请查看网页制作
点此处就本文及相关问题在本站进行非正式的简要咨询(便捷快速)】     【点此处查询各地各类考试咨询QQ号码及交流群
上一篇:使用html5 canvas 画时钟代码实例分享
下一篇:利用HTML5实现使用按钮控制背景音乐开关
易贤网手机网站地址:基于html5 DeviceOrientation 实现微信摇一摇功能
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!