HTML5实现手机摇一摇功能
来源:互联网 发布:弥塞拉 知乎 编辑:程序博客网 时间:2024/04/30 09:15
HTML5新增了一些JavaScript API接口,比如地理定位、重力感应等。今天主要介绍devicemotion事件(设备事件),它提供设备的加速信息,表示为定义在设备上的坐标系。其还提供了设备在坐标系中的自转速率。若可行的话,事件应该提供设备重心处的加速信息。本文给大家讲解了HTML5实现手机摇一摇的效果。
HTML5 实现手机摇一摇 - 梦幻雪冰 - 梦幻雪冰
摇一摇的实现思路:
1、检测设备是否支持重力传感;
2、绑定运动传感(devimotion)事件;
3、根据devimotion事件对象,获取三个方向的重力加速度;
4、为了防止系统认为简单的变化也是在摇动手机,所以在每隔一段时间进行三个方向值的计算;
5、当计算的该值大于预定的值(阀值),执行相应的操作。
代码:
<!doctype html><html><head> <meta charset="UTF-8"> <title>梦幻雪冰、独行冰海</title> <meta name="viewport" content="width=device-width,user-scalable=no"> <link rel="stylesheet" href="../css/reset.css"> <script src="../js/jquery-1.8.3.min.js" charset="utf-8" type="text/javascript"></script> <style> html, body { height: 100%; } .wrap { height: 100%; background: yellow; font-size: 2em; } </style></head><body> <div class="wrap" id="con">梦幻雪冰、独行冰海</div> <script> var con = document.getElementById("con"); (function(){ // 监听运动传感事件,查看是否支持硬件运动 if (window.DeviceMotionEvent) { window.addEventListener('devicemotion', deviceMotionHandler, false); } else { alert("您的设备不支持硬件调用"); } // 变量初始化 var x = 0, y = 0, z = 0, lastX = 0, lastY = 0, lastZ = 0, curTime = 0, lastTime = 0, diffTime = 0, speed = 0; // 设置一个阀值 var SHAKE_THRESHOLD = 800; // 设定摇晃的阈值为800 运行相应操作 /* * @功能:测算三个方向重力加速度,达到一定值进行相应操作 * @author:陈能堡 * */ function deviceMotionHandler(eventData){ var acceleration = eventData.accelerationIncludingGravity; // 获取当前时间 curTime = new Date().getTime(); // 计算时间差,当这个差值大于一定值执行计算三个方向的速度 if ((curTime - lastTime) > 100) { // 记录上一次的时间 diffTime = curTime - lastTime; lastTime = curTime; // 获取当前三个方向的值 x = acceleration.x; y = acceleration.y; z = acceleration.z; // 计算速度,为了防止出现负数,进行绝对值 speed = Math.abs((x + y + z - lastX - lastY - lastZ) / diffTime * 8000); if (speed > SHAKE_THRESHOLD) { alert("我实现摇一摇了"); }; // 记录上一次三个方向的值 lastX = x; lastY = y; lastZ = z; }; } })(); </script></body></html>
0 0
- HTML5实现手机摇一摇功能
- 用HTML5实现手机摇一摇的功能
- 用HTML5实现手机摇一摇的功能
- 用HTML5实现手机摇一摇的功能 .
- 用HTML5实现手机摇一摇的功能
- 用HTML5实现手机摇一摇的功能
- HTML5实现手机摇一摇的功能
- 用HTML5实现手机摇一摇的功能
- Html5+JS实现手机摇一摇功能
- Html5+JS实现手机摇一摇功能
- HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
- html5实现摇一摇功能
- HTML5实现摇一摇功能
- html5实现摇一摇功能
- 手机摇一摇实现功能
- 利用html5实现类似微信的手机摇一摇功能-计算摇动次数
- 用HTML5实现手机摇一摇的功能并配上声音
- HTML5实现摇一摇的功能
- UI控件笔记(二):UI之UILabel和UIImageView
- Django笔记 数据备份和恢复
- Mysql数据库5.7以上版本免安装版本配置
- UI控件笔记(三):UI之UIButton的属性
- Android Studio配置
- HTML5实现手机摇一摇功能
- linux系统中的时间及操作函数
- iOS获取通讯录联系人信息
- ios app上架AppStore注意事项及流程
- DataGridView中DataGridViewComboBoxColumn无法赋值问题
- Ubuntu 14.04 安装Xmind
- UIPopoverController以及iOS9以后UIPopPresentationController的使用
- libvlc外部api的简单整理
- Android L Settings改动介绍