电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

利用html5的一个重要特性 —— deviceorientation来实现手机网站上的摇一摇功能

5页
  • 卖家[上传人]:kms****20
  • 文档编号:40533956
  • 上传时间:2018-05-26
  • 文档格式:DOC
  • 文档大小:27KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、利用利用 HTML5HTML5 的一个重要特性的一个重要特性 DeviceOrientationDeviceOrientation 来实现手机来实现手机网站上的摇一摇功能网站上的摇一摇功能利用 HTML5 的一个重要特性 DeviceOrientation 来实现手机网站上的摇一摇功能介绍之前做两个声明:1、以下代码可以直接运行,当然你别忘了引用 jQuery 才行,我可提醒了,别到时候跑不起来骂我就成;2、下面的实现思想参照了网上的一些文章,自己做了以下整理,对代码加入了一些注释说明,本人并非原创。/ DeviceOrientation 将底层的方向传感器和运动传感器进行了高级封装,提供了 DOM 事件的支持。/ 这个特性包括两个事件:/ 1、deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据(手机所处的角度、方位和朝向等) 。/ 2、deviceMotion:封装了运动传感器的事件,可以获取手机运动状态下的运动加速度等数据。/ 使用这两个事件,可以很能够实现重力感应、指南针等有趣的功能。/ 现在在很多 Native 应用中有一个非常常见

      2、而时尚的功能 摇一摇,摇一摇找人、摇一摇看新闻、摇一摇找金币。 。 。/ 也许在 android 或者 ios 的客户端上对这个功能你已经很了解了,但是现在,我将告诉你如何在手机网页上实现摇一摇的功能。/ OK,那我们现在就开始吧,嘿嘿/ 先来让我们了解一下设备运动事件 DeviceMotionEvent:返回设备关于加速度和旋转的相关信息,其中加速度的数据包含以下三个方向:/ x:横向贯穿手机屏幕;/ y:纵向贯穿手机屏幕;/ z:垂直手机屏幕。/ 鉴于有些设备没有排除重力的影响,所以该事件会返回两个属性:/ 1、accelerationIncludingGravity(含重力的加速度)/ 2、acceleration(排除重力影响的加速度)/ 作为码农,上代码才是最直接的,come on,代码走起!/ 首先在页面上要监听运动传感事件 function init()if (window.DeviceMotionEvent) / 移动浏览器支持运动传感事件window.addEventListener(devicemotion, deviceMotionHandler, false);

      3、$(“#yaoyiyaoyes“).show(); else/ 移动浏览器不支持运动传感事件$(“#yaoyiyaono“).show(); / 那么,我们如何计算用户是否是在摇动手机呢?可以从以下几点进行考虑:/ 1、其实用户在摇动手机的时候始终都是以一个方向为主进行摇动的;/ 2、用户在摇动手机的时候在 x、y、z 三个方向都会有相应的想速度的变化;/ 3、不能把用户正常的手机运动行为当做摇一摇(手机放在兜里,走路的时候也会有加速度的变化) 。/ 从以上三点考虑,针对三个方向上的加速度进行计算,间隔测量他们,考察他们在固定时间段里的变化率,而且需要确定一个阀值来触发摇一摇之后的操作。/ 首先,定义一个摇动的阀值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;fu

      4、nction 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 * 10000; if (speed SHAKE_THRESHOLD) / TODO:在此处可以实现摇一摇之后所要进行的数据逻辑操作count+;$(“#yaoyiyaoyes“).hide();$(“#yaoyiyaoresult“).show();$(“#yaoyiyaoresult“).html(“摇你!第“ + count + “个了!“);last_x = x; last_y = y; last_z = z; 兄弟,如果您看到了我,说明您现在还不能摇,不是说您没有资格用我,而是:1、如果您使用 PC 机的浏览器,那可就不对了,我只爱手机浏览器;2、如果您是 Android 手机,那不好意思告诉你,android 自带的浏览器抛弃了我,您可以用 UCWeb、chrome 等第三方浏览器;3、如果您都不属于以上两种情况,那我只有告诉您:您改换手机啦!兄弟,摇一个吧,说不定有一个清纯的子等着你呢!$(document).ready(function()init(););

      《利用html5的一个重要特性 —— deviceorientation来实现手机网站上的摇一摇功能》由会员kms****20分享,可在线阅读,更多相关《利用html5的一个重要特性 —— deviceorientation来实现手机网站上的摇一摇功能》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.