<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/> <meta name="format-detection"content="telephone=no"> <title>html5重力感应事件</title> </head> <body> <p>摇一摇去触发html5重力感应事件</p> <div id="j"></div> <script type="text/javascript"> if (window.DeviceMotionEvent) { window.addEventListener('devicemotion',deviceMotionHandler, false); } var speed = 1;//速度 var x = y = z = lastX = lastY = lastZ = 0; function deviceMotionHandler(eventData) { var acceleration =eventData.accelerationIncludingGravity; x = acceleration.x; y = acceleration.y; z = acceleration.z; //document.getElementById("j").innerHTML = "\n "+Math.abs(x-lastX)+"\n"+Math.abs(y-lastY)+"\n"+Math.abs(z-lastZ); if(Math.abs(x-lastX) > speed || Math.abs(y-lastY) > speed || Math.abs(z-lastZ) > speed) { //简单的摇一摇触发代码 //alert('触发了重力感应'); document.getElementById("j").innerHTML = "\n "+Math.abs(x-lastX); } lastX = x; lastY = y; lastZ = z; } </script> </body> </html>
参考:
http://www.haorooms.com/post/html5_DeviceMotionEvent
相关推荐
本代码为html5利用重力感应标签得到用户摇动手机的动作。 再根据动作,显示晃动次数,得到这个次数。 次数得到了,动作你也监听到了。 你觉得还有什么你做不到的呢。^_^ (注:本代码不包含后台程序逻辑,未加...
HTML5一个重要特性就是DeviceOrientation,它将底层的方向传感器和运动传感器进行了高级封装,提供了DOM事件的支持。...例如Opera H5体验版里的重力感应球示例就是通过监听DeviceOrientation API的deviceOrie
HTML5的摇一摇功能是通过利用设备的重力感应事件来实现的,这主要依赖于HTML5的DeviceMotionEvent接口。DeviceMotionEvent是HTML5为现代移动设备提供的API,它能够捕获设备的动态信息,如加速度、旋转速率等,从而...
在百度开发者大会上我介绍过HTML5另外一个重要特性就是DeviceOrientation,它将底层的方向传感器和运动传感器进行了高级封装,提供了DOM事件...例如Opera H5体验版里的重力感应球示例就是通过监听DeviceOrientation AP