微信活动页面经常有“摇一摇,拿好礼”,还有拼多多摇现金,摇一摇功能也非常常见。HTML5 提供的 devicemotion 事件封装了设备的运动传感器,提供设备的加速度,还提供设备自转速率。对设备运动状态进行判断,就可以实现“摇一摇”效果。

devicemotion 监听手机加速度变化的事件:

acceleration - 加速度
accelerationIncludingGravity - 重力加速度
rotationRate - 旋转速度
interval - 获取的时间间隔
摇一摇代码示例:

复制代码
var shake_threshold = 4000; //放一移动的干扰,设置一个临界值
/* 使用之前先检查浏览器是否支持 */
if(window.DeviceMotionEvent){
 /* 添加事件 */ 
 window.addEventListener('devicemotion',function(eventData){
  var acceleration =eventData.accelerationIncludingGravity;
  var curTime = new Date().getTime();
  if ((curTime-last_update)> 10) {
   var diffTime = curTime -last_update;
   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 * 10000;
   if (speed > SHAKE_THRESHOLD) {
    alert("摇一摇成功了!");  // Do something
   }           
  }
 })
}
复制代码

摇一摇事件封装了设备的运动传感器相关推荐

  1. H5进阶篇--实现微信摇一摇功能

    在HTML5中,DeviceOrientation特性所提供的DeviceMotion事件封装了设备的运动传感器时间,通过改时间可以获取设备的运动状态.加速度等数据(另还有deviceOrientat ...

  2. HTML5——监听手机的一些事件:手机加速度devicemotion、设备方向变化deviceorientation、手机摇一摇、指南针

    1. devicemotion:监听手机加速度变化的事件(比如:手机疯狂摇摆) 属性:均为只读属性 (1)accelerationIncludingGravity:重力加速度(包括重心引力9.8) ( ...

  3. H5监听摇一摇和手机倾斜事件(重力感应)

    摇一摇功能(DeviceMotion) 摇一摇功能是很多原生APP都可以实现的功能,如微信中的摇一摇找好友,QQ音乐中的摇一摇换歌等.它们都是利用了手机加速传感器提供的API,当监听到手机加速变化的事 ...

  4. 利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖

    摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的devicemotion事件,获取设备在位置和方向上的改变速度的相关信息,该事件的基本使用如下: if (wi ...

  5. php微信摇一摇开发文档,摇一摇事件通知

    接口说明 用户进入摇一摇界面,在"周边"页卡下摇一摇时,微信会把这个事件推送到开发者填写的URL(登录公众平台进入开发者中心设置).推送内容包含摇一摇时"周边" ...

  6. 微信摇一摇服务器实现,微信摇一摇事件通知

    接口说明 用户进入摇一摇界面,在"周边"页卡下摇一摇时,微信会把这个事件推送到开发者填写的URL(登录公众平台进入开发者中心设置).推送内容包含摇一摇时"周边" ...

  7. 摇一摇抽奖 php,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖

    摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的devicemotion事件,获取设备在位置和方向上的改变速度的相关信息,该事件的基本使用如下:if (win ...

  8. 苹果手机html5摇一摇游戏戏码,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion...

    利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion 摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的 ...

  9. html检测手机是否摇动,HTML5摇一摇(上)—如何判断设备摇动

    刚刚过去的一道学数里屏.中近,期据面蔽最,近,期据面年里基于微信的H5营销可谓是十分火爆,通过转发朋友圈带来的病毒式传播效果相信大家都不太陌生吧,刚好最近农历新年将至,我就拿一个"摇签&qu ...

最新文章

  1. pyBoard 基于MicroPython开发STM32FXX单片机
  2. Winform判断一个窗口是否以模态化方式打开
  3. 控制科学对计算机能力的要求,0811控制科学与工程基本要求.pdf
  4. python parser count_8 个 Python 实用脚本,早掌握早下班!
  5. phpcms发布新闻到数据库_如何利用PHPCMS调用新闻列表
  6. 安装程序无法创建新的系统分区也无法定位现有分区的解决方法
  7. android中实现简单的播放
  8. 读了鸿蒙 OS 的代码后,我发现优秀项目都有这个共性!
  9. 磁盘格式 mac android,MacDroid for mac(安卓手机数据传输助手)
  10. python操作redis集群是连接池么_python使用连接池操作redis数据库
  11. Android刷机Windows10,蓝魔i9s Win10+Android双系统的刷机教程及固件下载
  12. proteus8找不到isis
  13. HTTP代理与DNS
  14. Linux常用命令英文全称与中文解释 (pwd、su、df、du等)
  15. 爬虫——scrapy框架爬取多个页面电影的二级子页面的详细信息
  16. 【阿里云仓库 可用 2022】IDEA MAVEN setings.xml 配置
  17. matlab完成信源编码译码,Huffman编码和译码的MATLAB实现.doc
  18. java 连接多实例_Java如何连接多实例SQL Server?
  19. MinGW最新版本下载
  20. 如果应下载文件,请添加 MIME 映射

热门文章

  1. jquery获取父级元素和子级元素
  2. java 实现二分法
  3. Oracle 项目就是那回事 ----表空间的管理
  4. linux Crond 执行预定任务
  5. matlab中的lsqcurvefit使用
  6. HEVC测试序列网址和账号
  7. 中国地质大学网络计算机考试试题,2017年中国地质大学(武汉)计算机学院830计算机软件综合之计算机网络考研题库...
  8. Spring-context-ConfigurationClassUtils类
  9. java 发送短信例子_利用java实现的一个发送手机短信的小例子
  10. 为什么excel图片会变成代码_会EXCEL便可定制自己的办公管理软件(超简单,无代码)...