• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5中如何调用手机重力感应的接口

HTML5中如何调用手机重力感应的接口

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5教程,HTML5中国,HTML5中如何调用手机重力感应的接口,admin,html5资料,html5文章,ht等相关知识,匿名希望在学习及工作中可以帮助到您

  刚刚过去的一年里基于微信的H5营销可谓是十分火爆,通过转发朋友圈带来的病毒式传播效果相信大家都不太陌生吧,刚好最近农历新年将至,我就拿一个“摇签”的小例子来谈一谈HTML5中如何调用手机重力感应的接口。

  演示代码:摇一摇,万福签

  什么是重力感应

  说到重力感应有一个东西不得不提,那就是就是陀螺仪,陀螺仪就是内部有一个陀螺,陀螺仪一旦开始旋转,由于轮子的角动量,陀螺仪有抗拒方向改变的特性,它的轴由于陀螺效应始终与初始方向平行,这样就可以通过与初始方向的偏差计算出实际方向。

  手机中的方位轴

  在Web应用中调用手机陀螺仪接口

//摇一摇(使用DeviceOrientation事件, 本质是计算偏转角) //测试中发现有些设备不支持 if(window.DeviceOrientationEvent){ $(window).on('deviceorientation', function(e) { if (isStarted) { return true; } if (!lastAcc) { lastAcc = e; return true; } var delA = Math.abs(e.alpha - lastAcc.alpha); var delB = Math.abs(e.beta - lastAcc.beta); var delG = Math.abs(e.gamma - lastAcc.gamma); if ( (delA > 15 && delB > 15) || (delA > 15 && delG > 15) || (delB > 15 || delG > 15)) { start(); } lastAcc = e; }); //摇一摇(使用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) { start(); } lastX = x; lastY = y; }, false); }

  摇一摇的代码判断逻辑

var isStarted = false; // 开始摇签 function start() { isStarted = true; $('.qiancover').hide(); $('.decode').hide(); $('.result').show(); // setTimeout(showDecode, 3000); } // 显示正在解签 function showDecode() { $('.result').hide(); $('.decode').show(); setTimeout(jumpToDecode, 3000); } // 跳至签文页面 function jumpToDecode(){ var urls = ["#", "#"]; var jumpTo = urls[parseInt(Math.random() * urls.length)]; window.location = jumpTo; };

  示例代码: https://github.com/lionrock/HTML5-Example/tree/master/wechat-divination

  参考文档: DeviceOrientation Event Specification

   来源:http://xunli.xyz/2016/01/12/html5-device-shake/?utm_source=tuicool&utm_medium=referral

您可能想查找下面的文章:

  • 一款利用html5和css3动画排列人物头像的实例演示
  • html5教程调用绘图api画简单的圆形代码分享
  • html5教程画矩形代码分享
  • html5教程制作简单画板代码分享
  • html5基础教程常用技巧整理
  • html5教程-Canvas入门
  • html5教程画矩形代码分享
  • HTML5晃动DeviceMotionEvent事件
  • HTML5教程之html 5 本地数据库(Web Sql Database)
  • HTML5中对contenteditable属性的解释与规定

相关文章

  • 2018-12-03深入理解HTML的FormData对象_html5教程技巧
  • 2018-12-03html5的button标签何时使用?为什么主流网站在非跳转按钮上仍然使用a标签?
  • 2018-12-03创造更好的浏览体验-HTML5 history API
  • 2018-12-03简单html5代码获取地理位置_html5教程技巧
  • 2018-12-03谷歌为什么要推出AMP计划?
  • 2018-12-03HTML5开发必备-游戏开发资源合集(图文)
  • 2018-12-03如果全世界电脑停用flash转用HTML5,可以节省多少能源?
  • 2018-12-03奇思妙想-用HTML5进行人脸识别
  • 2018-12-03HTML5 Canvas图像模糊如何解决
  • 2018-12-03H5移动端各种各样的列表的制作方法(七最终章)

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 熟练JavaScript的步骤应该是?
    • HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
    • Web 前端的未来会怎样?
    • 移动端HTML5性能优化
    • 2小时完成HTML5拼图小游戏代码图文介绍
    • HTML基础
    • 移动端html5列表的制作方法
    • HTML5新增的结构元素
    • JS HTML5拖拽上传图片预览
    • JS中捕获console.log()输出的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有