Javascript网页摇一摇
function init(){ if (window.DeviceMotionEvent) { // 移动浏览器支持运动传感事件 window.addEventListener('devicemotion', deviceMotionHandler, false); } } var SHAKE_THRESHOLD = 3000; // 定义一个变量保存上次更新的时间 var last_update = 0; // 紧接着定义x、y、z记录三个轴的数据以及上一次出发的时间 var x; var y; var z; var last_x; var last_y; var last_z; var count = 0; function deviceMotionHandler(eventData) { // 获取含重力的加速度 var acceleration = eventData.accelerationIncludingGravity; // 获取当前时间 var curTime = new Date().getTime(); var diffTime = curTime -last_update; // 固定时间段 if (diffTime > 100) { 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 * 30000; if (speed > SHAKE_THRESHOLD) { // 在此处可以实现摇一摇之后所要进行的数据逻辑操作 } //记录上一次加速度 last_x = x; last_y = y; last_z = z; } }
HTML5晃动DeviceMotionEvent事件
现在很多的手机页面上也有摇一摇功能了,比如什么领取红包,还有那种死命摇摇到100%弹出个什么东西来着,在坑爹点的摇个女票-_-//
deviceMotionHandler://运动传感器处理
last_update=curTime;//记录上一次摇动的时间
x=acceleration.x;//获取加速度X方向
y=acceleration.y;//获取加速度Y方向
z=acceleration.z;//获取加速度垂直方向
if (speed > SHAKE_THRESHOLD) {
// 在此处可以实现摇一摇之后所要进行的数据逻辑操作
}
然后再这里你可以做你想做的操作了
比如弹个框(你啥都没中到)
再比如来个
X++然后摇啊摇摇到100弹个什么
最后你可以在页面调用就可以了
<script> $(document).ready(function(){ init(); }); </script>
额,写上这一段的时候主要还是不明白,好多点反对是对我的随笔不满还是对我随笔质量的不满。。实际上我更多的把这个博客当成个人动态玩的。。。所以还是比较随意的。。。当然如果觉得写得有问题可以在下方评论写出改进建议。。。我会虚心接受,顺便可以知道自己的不足点。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库