首页 > 作文

Html5+JS实现手机摇一摇功能

更新时间:2023-04-06 14:46:39 阅读: 评论:0

html5一个重要特性就是deviceorientation,它将底层的方向传感器和运动传感器进行了高级封装,提供了dom事件的支持。这个特性包括两种事件:

1、 deviceorientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度、方位、朝向等。

2、 devicemotion:封装了运动传感器数据的事件,可以获取手机运动状态下的运动加速度等数据。 使用它我们能够很容易的实现重力感应、指南针等有趣的功能,在手机上将非常有用。例如opera h5体验版里的重力感应球示例就是通过监听deviceorientation api的deviceorientation事件来实现的。 其实它还能帮助我们在网页上实现一个手机应用里非常常见而时尚的功能:手机摇一摇。

四季山水devicemotionevent(设备运动事件)返回设备有关于加速度和旋转的相关信息。加速度的数据将包含三个轴:x,y和z(示意如下图所示,x轴横向贯穿手机屏幕或者笔记本键盘,y轴纵向贯穿手机屏幕或笔记本键盘,z轴垂直于手机屏幕或笔记本键盘)。因为有些设备可能没有硬件来排除重力的影响,该事件会返回两个属性,accelerationincludinggravity(含重力的加速度)和acceleration(加速度),后者排除了重力的影响。

1. [代码]监听运动传感事件
2. [代码]获取含重力的加速度
3. [代码]核心方法实现代码

html5一个重要特性就是deviceorientation,它将底层的方向传感器和运动传感器进行了高级封装,提供了dom事件的支持。这个特性包括两种事件:

1、 deviceorientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度、方位、朝向等。

2、 devicemotion:封装了运动传感器数据的事件,可以获取手机运动状态下的运动加速度等数据。
使用它我们能够很容易的实现重力感应、指南针等有趣的功能,在手机上将非常有用。例如opera h5体验版里的重力感应球示例就是通过监听deviceorientation
api的deviceorientation事件来实现的。

其实它还能帮助我们在网页上实现一个手机应用里非常常见而时尚的功能:手机摇一摇。

devicemotionevent(设备运动事件)返回设备有关于加速度和旋转的相关信息。加速度的数据将包含三个轴:x,y和z(示意如下图所示,x轴横向贯穿手机屏幕或者笔记本键盘,y轴纵向贯穿手机屏幕或笔记本键盘,z轴垂直于手机屏幕或笔记本键小学语文题盘)。因为有些设备可能没有硬件来排除重力的影响,该事件会返回两个属性,accelerationincludinggravity(含重力的加速度)和acceleration(加速度),后者排除了重力的影响。

1. [代码]监听运动传感事件

复制代码 代码如下:

if (window.devicemotionevent) {

window.addeventlistener(‘devicemotion’,devicemotionhandler, fal);

}

2. 动态图片[代码]获取含重力的加速度

复制代码 代码如下:

function devicemotionhandler(eventdata) {

var acceleration =eventdata.accelerationincludinggravity;

}

3. [代码]核心方法实现代码

复制代码 代码如下:

var shake_threshold = xxx;

var last_update = 0;

var x, y, z, last_x, last_y, last_z;</p> <p>function devicemotionhandler(eventdata) {

var acceleration =eventdata.accelerationincludinggravity;</p> <p>var curtime = newdate().gettime();</p> <p>if ((curtime – lastupdate)> 100) {</p> <p>var difftime = curtime怎样学跳舞 -last_update;

last_update = curtime;</p> <p>x = acceleration.x;

y = acceleration.y;

z = acceleration.z;</p> <p>var speed = math.abs(x +y + z – last_x – l新科技产品ast_y – last_z) / difftime * 10000;</p> <p>if (speed > shake_threshold) {

alert(“shaked!”);

}

last_x = x;

last_y = y;

last_z = z;

}

}

本文发布于:2023-04-06 14:46:38,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/835ad484e9f04f620c6bf3876ba7e88f.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Html5+JS实现手机摇一摇功能.doc

本文 PDF 下载地址:Html5+JS实现手机摇一摇功能.pdf

标签:加速度   重力   事件   代码
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图