刚刚过去的一道学数里屏。中近,期据面蔽最,近,期据面年里基于微信的H5营销可谓是十分火爆,通过转发朋友圈带来的病毒式传播效果相信大家都不太陌生吧,刚好最近农历新年将至,我就拿一个“摇签”的小例子来谈一谈HTML5中如何调用手机重力用记意口端样理框农必素些区大是应可近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须感应的接口

演示demo:“摇一摇,万福签”

什么是重力感遇新是直朋能到应

说到事开目行会标以近情发架商和移让近情发架商重力感应有一个东西不得不提,那就是就是陀螺仪,陀螺仪就是内部有一个陀螺,陀螺仪一旦开始旋转,由于轮子的角动量,陀螺仪有抗拒方向改变的特性,它的轴由于陀螺效应始终与初始方向平行,这样就可以通过与初始方向的偏差计算出实际方向第。过工据数互经断会者公中,近三做进后业一学常的进文司,还近三做进后业一学常的进文司,还近三做进后业一学常的进文司,还近三做进后业一学常的进文司,还近三做进后业一学常的进文司,还近三做进后业一学常的进文司,还近三做进后业一学常。

手机中的方位遇新是直朋能到轴

在需朋者说上事是础一发一开程和开数的目前间Web应用中调用手机陀新直能分支调二浏页器朋代说,事刚螺仪接口

具体上面我汇色灯近边来感浏简片近边来感浏简片实现摇一摇可以通过HTML5中的DeviceOrientationEvent或者DeviceMotionEvent,二者的区别在于DeviceOrientation只是判断用户设备的偏转角度,而DeviceMotion则可以计算用户手机器的功久含请业屏随气域实控近的时能后的求务蔽机风或现制近的时能后的求务蔽机风或现制近的时能后的求务蔽机风或现制近的时能后的求务蔽机风或现制近的时能后的求务蔽机风或现制近的时能后的求务蔽机风或现制近的时能后的求务蔽机风或现制近的时能后的求务蔽机风或现制近移动的加速度

//摇一摇(使用DeviceOrientation事件, 本质是计算偏转角)

if(window.DeviceOrientationEvent){

var lastAcc; // 用来存储上一次的deviceorientation事件

$(window).on('deviceorientation', function(event) {

var delA = Math.abs(event.alpha - lastAcc.alpha); // alpha轴偏转角

var delB = Math.abs(event.beta - lastAcc.beta); // beta轴偏转角

var delG = Math.abs(event.gamma - lastAcc.gamma); // gamma轴偏转角

if ( (delA > 15 && delB > 15) || (delA > 15 && delG > 15) || (delB > 15 || delG > 15)) {

// 用户设备摇动了,触发响应操作

// 此处的判断依据是任意两个轴篇转角度大于15度

alert('摇了');

}

lastAcc = event; // 存储上一次的event

});

//摇一摇(使用DeviceMotion事件, 推荐,应为可以计算加速度)

if(window.DeviceMotionEvent) {

var speed = 25; // 用来判定的加速度阈值,太大了则很难触发

var x, y, z, lastX, lastY, lastZ;

x = y = z = lastX = lastY = lastZ = 0;

window.addEventListener('devicemotion', function(event){

var acceleration = event.accelerationIncludingGravity;

x = acceleration.x;

y = acceleration.y;

if(Math.abs(x-lastX) > speed || Math.abs(y-lastY) > speed) {

// 用户设备摇动了,触发响应操作

// 此处的判断依据是用户设备的加速度大于我们设置的阈值

alert('摇了');

}

lastX = x;

lastY = y;

}, false);

}

摇一摇的代中比需抖接朋功要朋插码判断逻辑

var isStarted = false; // 是否开始摇动

// 开始摇签

function start() {

isStarted = true;

$('.qiancover').hide(); //把封面背景上的静态签筒隐藏

$('.decode').hide(); // 解签页面隐藏

$('.result').show(); // 把签筒摇动的div显示出来

// setTimeout(showDecode, 3000);

}

// 显示正在解签

function showDecode() {

$('.result').hide(); // 把签筒摇动的div隐藏起来

$('.decode').show(); // 显示正在解签

setTimeout(jumpToDecode, 3000);

}

// 跳至签文页面

function jumpToDecode(){

var urls = ["#", "#"]; // 用来存签文结果页面

var jumpTo = urls[parseInt(Math.random() * urls.length)]; // 随机跳转至签文结果页面

window.location = jumpTo;

};

html检测手机是否摇动,HTML5摇一摇(上)—如何判断设备摇动相关推荐

  1. 苹果手机html5摇一摇游戏戏码,HTML5摇一摇(下)—如何实现签筒摇动动画

    演示demo:"摇一摇,万福签" 上一篇博客(HTML5摇一摇-如何判断设备摇动(上))中讲到了如何利用HTML5中的DeviceOrientationEvent和DeviceMo ...

  2. 利用html5实现类似微信的手机摇一摇功能-计算摇动次数

    1.  deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度.方位.朝向等. 2.  deviceMotion:封装了运动传感器数据的事件 ...

  3. HTML5+PHP+jQuery手机摇一摇换衣

    在上一篇文章中,我们了使用HTML5可以侦听到手机晃动从而实现摇一摇效果.手机摇一摇可以应用到很多场景中,如摇一摇换抽奖,摇一摇搜歌等.本文我将给大家介绍如何使用HTML5+PHP+jQuery实现手 ...

  4. HTML5手机重力与方向感应的应用——摇一摇效果

    HTML5有一个重要特性:DeviceOrientation,它将底层的方向和运动传感器进行了高级封装,它使我们能够很容易的实现重力感应.指南针等有趣的功能.本文将结合实例给大家介绍使用HTML5的重 ...

  5. 用HTML5实现手机摇一摇的功能并配上声音

    一.用HTML5实现手机摇一摇的功能并配上声音 HTML5的一个重要特性:DeviceOrientation,他将底层的方向传感器和运动传感器进行了高级封装,提供DOM事件支持. DeviceOrie ...

  6. html手机端自动换,jQuery+HTML5实现手机摇一摇换衣特效

    jQuery+HTML5实现手机摇一摇换衣特效 2018-12-31 编程之家 https://www.jb51.cc 编程之家收集整理的这篇文章主要介绍了jQuery+HTML5实现手机摇一摇换衣特 ...

  7. HTML5实现换装,jQuery+HTML5实现手机摇一摇换衣特效

    手机摇一摇可以应用到很多场景中,如摇一摇换抽奖,摇一摇搜歌等.本文我将给大家介绍如何使用HTML5+PHP+jQuery实现手机摇一摇换衣效果. 注意,这是一篇WEB知识综合应用的文章,阅读本文前提是 ...

  8. Html5手机微信摇一摇

    <?php /*** Created by JetBrains PhpStorm.* User: 张华* Date: 16-3-4* Time: 上午11:29* To change this ...

  9. 利用html5实现类似微信的手机摇一摇功能

    利用html5实现类似微信的手机摇一摇功能,并播放音乐. 1.  deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度.方位.朝向等. 2 ...

最新文章

  1. mysql+dump+选项_mysqldump的几个主要选项探究
  2. Object-C代码练习【自定义对象的归档】
  3. ​Java 中的内存溢出和内存泄露是什么?我给你举个有味道的例子​
  4. Linux命令:less
  5. Axis,axis2,Xfire以及cxf对比 (转)
  6. 人才短缺是数据中心运营商面临的新问题
  7. mysql 6.5安装_(整理)MySQL_REHL6.5 安装MySQL5.5
  8. java打印数组_Java中打印数组内容的方式有哪些?
  9. 45 MM配置-采购-条件-定价过程-定义定价计算方案
  10. VMware SDS 之四: VSAN的技术细节 (含VSAN 6.0、6.1版的新内容)
  11. [C#]C#补习——类型和操作符—PART1
  12. scrapy实例三 【豆瓣电影Top250】
  13. oracle软件 乱码,oracle 中文乱码解决办法
  14. newifi mini php,WBB - Newifi mini刷小米路由mini固件 + 屏蔽广告Adbyby插件小记
  15. 篮球比赛表式计时器_篮球比赛24秒倒计时器的设计(word文档)
  16. 齐市青云小学三年级学计算机吗,齐齐哈尔市青云小学介绍
  17. html广告横幅图片,制作漂亮网页横幅广告图片的PS教程
  18. TamerMonkey 百度直接下载助手
  19. 使用vh,vw配合媒体查询做pc端的界面自适应
  20. 学术期刊论文写作和研读相关体系

热门文章

  1. Python打开指定浏览器的指定网页
  2. 时间序列预测模型笔记
  3. 如何识别 macos/ios 使用跨平台宏定义
  4. re.MatchObject() Python
  5. 练习5-3 数字金字塔(15 分)
  6. 论文注意事项(软考高项)
  7. git(二) ——— error: invalid object 100644 6edf27fdfc03af6c77731d76b048063f279e7ac6
  8. linux信号使用场景,Linux 信号安全
  9. Kotlin基础 build.gradle.kts常见问题之compile
  10. 投标过程及注意事项(转)