好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

html5教程-H5实现手机摇一摇效果教程

小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

方向 事件device orientation

该事件实在设备方向发生变化时触发, 使用方法如下;

 window.addEventListener(& # 39;deviceorientation', orientationHandler, true);

回调函数orientationHandler会接收到一个DeviceOrientationEvent类型参数, 包含以下信息.

属性名 说明
absolute 如果方向数据跟地球坐标系和设备坐标系有差异, 则为true
alpha 设备在alpha方向上旋转的角度, 范围为0- 360
beta 设备在Beta方向上旋转的角度, 范围为-180-180
g am ma 设备在Gamma方向上旋转的角度, 范围为-90-90

移动事件devicemotion

该事件实在设备位置发生变化时触发

 window.addEventListener('devicemotion', motionHandler, false);

该回调函数会接受DeviceMotionEvent类型参数, 包含以下信息.

属性名 说明
acceleration 设备在X,Y,Z三个轴的方向上移动的 距离 , 以抵消重力加速度
accelerationIncludingGrav IT y 设备在X,Y,Z三个轴方向移动的距离, 包含重力加速度
rotationRate 设备在Alpha, Beta, Gamma三个方向旋转的角度
interval 从设备获取数据的频率, 单位是毫秒

代码部分

 <!DOCTY PE  ht ML > <html lang="en"> <head>   < ;m eta charset="UTF-8">   <meta name="viewport" content="width=device-width, initial -s cale=1.0">   <meta http-equiv="X-UA-Compatible" content="ie= Edge ">   <title>摇一摇</title> </head> <body>   <p>     摇一摇   </p>   <script>     const SHAKE_SPEED = 300;     let lastTime = 0;//上次变化的时间     let x = y = z = lastX = lastY = lastZ = 0;//位置变量初始化      function  motionHandler(event) {       let acceleration = event.accelerationIncludingGravity;       let curTime = Date.now();//取得当前时间       if ((curTime - lastTime) > 120) {         let diffTime = curTime - lastTime;         lastTime = curTime;         x = acceleration.x;         y = acceleration.y;         z = acceleration.z;         //计算 摇动 速度         let speed = Math.abs(x + y + z - lastX - lastY - lastZ) / diffTime * 1000;         if (speed > SHAKE_SPEED) {           alert("你摇动了手机");         }         lastX = x;         lastY = y;         lastZ = z;       }     }     if(window.DeviceMotionEvent) {       window.addEventListener('devicemotion', motionHandler, false);     } else {       alert("你的设备不支持位置感应");     }   </script> </body> </html>

方向事件deviceorientation

该事件实在设备方向发生变化时触发, 使用方法如下;

 window.addEventListener('deviceorientation', orientationHandler, true);

回调函数orientationHandler会接收到一个DeviceOrientationEvent类型参数, 包含以下信息.

属性名 说明
absolute 如果方向数据跟地球坐标系和设备坐标系有差异, 则为true
alpha 设备在alpha方向上旋转的角度, 范围为0-360
beta 设备在Beta方向上旋转的角度, 范围为-180-180
gamma 设备在Gamma方向上旋转的角度, 范围为-90-90

移动事件devicemotion

该事件实在设备位置发生变化时触发

 window.addEventListener('devicemotion', motionHandler, false);

该回调函数会接受DeviceMotionEvent类型参数, 包含以下信息.

属性名 说明
acceleration 设备在X,Y,Z三个轴的方向上移动的距离, 以抵消重力加速度
accelerationIncludingGravity 设备在X,Y,Z三个轴方向移动的距离, 包含重力加速度
rotationRate 设备在Alpha, Beta, Gamma三个方向旋转的角度
interval 从设备获取数据的频率, 单位是毫秒

代码部分

 <!DOCTYPE html> <html lang="en"> <head>   <meta charset="UTF-8">   <meta name="viewport" content="width=device-width, initial-scale=1.0">   <meta http-equiv="X-UA-Compatible" content="ie=edge">   <title>摇一摇</title> </head> <body>   <p>     摇一摇   </p>   <script>     const SHAKE_SPEED = 300;     let lastTime = 0;//上次变化的时间     let x = y = z = lastX = lastY = lastZ = 0;//位置变量初始化      function  motionHandler(event) {       let acceleration = event.accelerationIncludingGravity;       let curTime = Date.now();//取得当前时间       if ((curTime - lastTime) > 120) {         let diffTime = curTime - lastTime;         lastTime = curTime;         x = acceleration.x;         y = acceleration.y;         z = acceleration.z;         //计算摇动速度         let speed = Math.abs(x + y + z - lastX - lastY - lastZ) / diffTime * 1000;         if (speed > SHAKE_SPEED) {           alert("你摇动了手机");         }         lastX = x;         lastY = y;         lastZ = z;       }     }     if(window.DeviceMotionEvent) {       window.addEventListener('devicemotion', motionHandler, false);     } else {       alert("你的设备不支持位置感应");     }   </script> </body> </html>

觉得 可用,就经常来吧! 欢迎评论哦!&nbs p; html5教程 ,巧夺天工,精雕玉琢。小宝典献丑了!

总结

以上是 为你收集整理的 html5教程-H5实现手机摇一摇效果教程 全部内容,希望文章能够帮你解决 html5教程-H5实现手机摇一摇效果教程 所遇到的问题。

如果觉得 网站内容还不错, 推荐好友。

查看更多关于html5教程-H5实现手机摇一摇效果教程的详细内容...

  阅读:45次