- 浏览: 203705 次
文章分类
- 全部博客 (224)
- jsp (5)
- jsf (7)
- web (11)
- js (12)
- COBOL (5)
- php (7)
- jconsole (1)
- java (11)
- ajax (1)
- PHP魔法方法 (1)
- 项目管理工具 (3)
- 项目管理 (2)
- svn (8)
- redmine (1)
- mysql (4)
- qrcode,php (1)
- qrcode (1)
- 多进程 (3)
- html (1)
- excel (2)
- seasar2 (1)
- db (1)
- entity (1)
- IOS8 (1)
- SWIFT (1)
- 正则表达式 (1)
- RabbitVCS (1)
- url (1)
- thinkphp (2)
- c++ (5)
- win32 API函数 (1)
- htaccess (1)
- makefile (3)
- C/C++ (12)
- Linux (1)
- miui (2)
- unix (1)
- wechat (1)
- websocket (1)
- SpringMVC (3)
- VSAM (1)
- centos (2)
- wamp (1)
- server (1)
- 优酷视频上传并去除广告 (1)
- owncload (1)
- cloud (1)
- ubuntu (1)
- pdf转换成word (1)
- 微信,weixin (1)
- 行业系统 (3)
- 超级外卖源代码 (0)
- 软件专利 (1)
- 申请 (1)
- vba (1)
- UML (1)
- 程序切片 (1)
- 股票心得 (1)
- 威客建站 (1)
- 微信开发学习路线 (1)
- 远程开机 (1)
- spring mvc (1)
- JEECMS (1)
- Node.js (1)
- ThinkJS (1)
- maven (2)
- MyEclipse+Tomcat+MAVEN+SVN (1)
- Spring+SpringMVC+MyBatis (1)
- wampserver (0)
- RESTful (1)
- hibernate (4)
- Spring+SpringMVC (1)
- 响应式布局 (1)
- 响应式布局模板 (1)
- Aptana (3)
- 遗传算法 (1)
- 进化算法 (1)
- bower (1)
- HTML5 (1)
- Android官方培训课程 (1)
- MySQL锁 (1)
- 扫描枪 (1)
- 微信公众平台 (1)
- 企业号 (1)
- ddns (1)
- java获取外网ip (1)
- DDNS,阿里云,云解析,万网域名,阿里云域名 (1)
- SEO (1)
- Jboss (2)
- wildfly (1)
- WildFly8 (2)
- NT Kernel (1)
- 反向代理 (1)
- Spring嵌套事务 (1)
- apache (3)
- 防止浏览器记住用户名及密码的简单实用方法 (1)
- 时间戳 (1)
- 字体 (1)
- 网络爬虫准 (1)
- 屏蔽后退按钮 (1)
- java web (1)
- JavaMail (1)
- windows服务 (1)
- Freemarker (1)
- TortoiseGit (2)
- oschina (1)
- JSON (1)
- Boost (1)
- MUI (1)
- github (1)
- Python2.7 (1)
- Python3.0 (1)
- Odoo (1)
- java socket (1)
- OpenERP (2)
- werkzeug (1)
- JNA (2)
- proxifier (1)
- WebService (1)
- 企业应用集成 (1)
- vmware (1)
- Navicate (1)
- 三体 (1)
- oracle同步 (1)
- 微信 (3)
- java设计模式 (1)
- 工具 (1)
- JavaScript跨域 (1)
- LB (1)
- 负载均衡 (1)
- AngularJS (1)
- HBuilder (1)
- Echarts (1)
- Json Web Token (1)
- PassportSDK (1)
- ubuntu kylin xterm 乱码 (1)
- ubuntu kylin17 安装字体教程 (1)
- wps (1)
- jetbrains (1)
- MySQL5.7 (1)
- Nginx (1)
- JDK (1)
最新评论
-
cuiyadll:
谢谢楼上的推荐
实战:jQuery Mobile开发HTML5移动应用 -
marty:
使用JQueryMobile,推薦使用這免費開發工具,提供可視 ...
实战:jQuery Mobile开发HTML5移动应用 -
men_clslji:
按照目前的方法只是防止刷新页面时不再执行X(添加),而toke ...
有了上一篇博文,类似地顺便说说表单防重复提交。
介绍:http://www.codesky.net/article/201309/182067.html
介绍之前做两个声明:
以下代码可以直接运行,当然你别忘了引用jQuery才行。
介绍之前做两个声明:
以下代码可以直接运行,当然你别忘了引用jQuery才行。
<script> // DeviceOrientation将底层的方向传感器和运动传感器进行了高级封装,提供了DOM事件的支持。 // 这个特性包括两个事件: // 1、deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据(手机所处的角度、方位和朝向等)。 // 2、deviceMotion:封装了运动传感器的事件,可以获取手机运动状态下的运动加速度等数据。 // 使用这两个事件,可以很能够实现重力感应、指南针等有趣的功能。 // 现在在很多Native应用中有一个非常常见而时尚的功能 —— 摇一摇,摇一摇找人、摇一摇看新闻、摇一摇找金币。。。 // 也许在android或者ios的客户端上对这个功能你已经很了解了,但是现在,我将告诉你如何在手机网页上实现摇一摇的功能。 // OK,那我们现在就开始吧,嘿嘿~ // 先来让我们了解一下设备运动事件 —— DeviceMotionEvent:返回设备关于加速度和旋转的相关信息,其中加速度的数据包含以下三个方向: // x:横向贯穿手机屏幕; // y:纵向贯穿手机屏幕; // z:垂直手机屏幕。 // 鉴于有些设备没有排除重力的影响,所以该事件会返回两个属性: // 1、accelerationIncludingGravity(含重力的加速度) // 2、acceleration(排除重力影响的加速度) // 作为码农,上代码才是最直接的,come on,代码走起! // 首先在页面上要监听运动传感事件 function init(){ if (window.DeviceMotionEvent) { // 移动浏览器支持运动传感事件 window.addEventListener('devicemotion', deviceMotionHandler, false); $("#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; 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 * 10000; if (speed > SHAKE_THRESHOLD) { // TODO:在此处可以实现摇一摇之后所要进行的数据逻辑操作 count++; $("#yaoyiyaoyes").hide(); $("#yaoyiyaoresult").show(); $("#yaoyiyaoresult").html("摇你妹!第" + count + "个了!"); } last_x = x; last_y = y; last_z = z; } } </script> <div id="yaoyiyaono" style="font-size:20px;margin:10px;line-height:35px;display:none;"> 兄弟,如果您看到了我,说明您现在还不能摇,不是说您没有资格用我,而是:</br> 1、如果您使用PC机的浏览器,那可就不对了,我只爱手机浏览器;</br> 2、如果您是Android手机,那不好意思告诉你,android自带的浏览器抛弃了我,您可以用UCWeb、chrome等第三方浏览器;</br> 3、如果您都不属于以上两种情况,那我只有告诉您:您改换手机啦!!!</br> </div> <div id="yaoyiyaoyes" style="font-size:20px;margin:10px;line-height:50px;display:none;"> 兄弟,摇一个吧,说不定有一个清纯的妹子等着你呢! </div> <div id="yaoyiyaoresult" style="font-size:20px;margin:10px;line-height:50px;display:none;"></div> <script> $(document).ready(function(){ init(); }); </script>
发表评论
-
JS引号的输出办法
2016-03-17 11:24 644你可以在 JavaScript 中使用反斜杠来向文本字符串 ... -
Office在线预览及PDF在线预览的实现方式大集合
2015-12-24 17:30 1026一、服务器先转换为P ... -
MyEclipse安装JS代码提示(Spket插件)
2015-11-09 15:39 790近期需要大量使用JS来开发,但是MyEclips ... -
分享一个有趣的js代码(手机摇一摇切换网页背景色)
2014-07-10 19:32 913引用<script type="text/ja ... -
实战:jQuery Mobile开发HTML5移动应用
2014-04-16 14:56 1574引自:http://tech.it168.com/a201 ... -
几个功能强大的php函数
2014-02-07 13:32 760这些函数简单但是又非常重要,先收藏再说吧,你总有用得着的时候 ... -
JS之Window对象
2014-02-07 00:23 751一.说明:他是JS中最大的对象,它描述的是一个浏览器窗口,一般 ... -
jquery 中的 $(“#”) 与 js中的document.getElementById(“”)
2014-02-06 22:19 867以前没注意过,认为jquery 中的 $("#&qu ... -
js中setInterval与setTimeout用法
2014-02-06 13:06 659setTimeout 定义和用法: setTimeou ... -
js的Prototype属性 解释及常用方法
2014-02-06 13:05 396函数:原型 每一个构造函数都有一个属性叫做原型(prototy ... -
弹出窗口(window.open)被各种浏览器拦截的通用处理方法
2013-08-27 15:56 974所有种类的浏览器基本都默认拦截弹出窗口,也就是说(window ...
相关推荐
实现摇一摇功能对于提升用户体验很有帮助,例如在网页中实现摇一摇抽奖、摇一摇切换页面等功能。但开发者需要注意,不同设备的传感器精度和性能可能有所不同,因此可能需要进行设备特定的优化来保证功能的稳定性和...
HTML5的DeviceOrientation API是移动Web开发中的一个重要特性,它允许开发者访问设备的运动和方向数据,例如重力加速度、设备的倾斜角度等。这一特性使得开发者能够创建出更加互动且富有动感的Web应用,比如游戏、...
在提供的压缩包文件中,可能包含了一个简单的HTML文件和JavaScript文件,展示了如何利用HTML5的Device Orientation API实现摇一摇功能。代码中可能包含了一些用于调试或测试的额外代码,使用者需要根据实际需求进行...
实现HTML5手机摇一摇功能的关键在于分析DeviceMotion事件中的加速度数据。当用户摇动手机时,加速度值会在三个轴上快速变化。为了准确判断用户是否在摇动手机,开发者需要设定一定的阈值,并记录之前的数据以计算...
HTML5的DeviceOrientation API是移动设备上的一个强大特性,它允许开发者访问设备的运动传感器数据,包括加速度计和陀螺仪的信息。这个API在现代智能手机和平板电脑中广泛使用,为开发各种创新的交互体验提供了可能...
“h5 + js 仿微信摇一摇”这个标题表明我们要探讨的是一个使用HTML5(H5)和JavaScript(JS)技术来实现的互动功能,该功能模仿了微信应用中的“摇一摇”特性。微信的摇一摇功能允许用户通过摇动手机来触发特定的...
在本资源"HTML5实现的带音乐手机摇一摇抽奖特效源码.zip"中,我们可以看到一个利用HTML5特性构建的手机摇一摇抽奖功能,这个功能通常用于增加用户参与度和互动性,常见于各类活动和游戏。 首先,我们要理解摇一摇...
HTML5手机微信摇一摇游戏代码是一个利用HTML5技术实现的互动游戏,旨在模拟微信的摇一摇功能。这个游戏的核心是通过JavaScript库jQuery 1.11.1.min.js来处理用户交互和动画效果,使得在手机上玩时能够获得流畅的体验...
本资源“安卓Android源码——使用html5得到手机设备信息的.rar”提供了一个示例,展示了如何利用HTML5获取手机设备的相关信息。通过分析这个源码,我们可以深入理解Android与HTML5的结合以及如何访问设备特性。 ...
HTML5一个重要特性就是DeviceOrientation,它将底层的方向传感器和运动传感器进行了高级封装,提供了DOM事件的支持。这个特性包括两种事件: 1、 deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止...
HTML5手机微信摇一摇游戏代码是利用现代Web技术,特别是HTML5的API,结合微信的JSSDK,实现的一款互动娱乐应用。这种游戏通常在移动端运行,通过手机的运动传感器(如加速度计和陀螺仪)检测用户的摇动动作,并将其...
本压缩包"安卓Andriod源码——使用html5得到手机设备信息的.zip"显然是一个关于如何利用HTML5获取Android设备信息的示例项目。下面我们将详细探讨这一主题。 首先,HTML5中的Web Storage、Canvas、Audio/Video等...
HTML5手机摇一摇功能是现代移动Web应用中一种创新且有趣的交互方式,它利用了HTML5的新特性,使得在浏览器上实现类似智能手机原生应用的体验成为可能。这一技术通常应用于游戏、互动投票、抽奖活动等场景,为用户...
在iOS应用开发中,利用Swift语言和CoreMotion框架可以轻松实现手机摇一摇功能,这是一种常见的用户交互方式,常用于游戏、抽奖或者切换界面等场景。本教程将深入讲解如何利用Swift和CoreMotion来创建一个摇一摇检测...
在安卓Android平台上,开发者可以利用HTML5来获取手机设备的各种信息,从而实现丰富的跨平台应用。这个压缩包“安卓Android源码——使用html5得到手机设备信息的.zip”显然是一个包含示例代码的资源,旨在教授如何...
HTML5手机摇一摇功能是近年来移动互联网应用中一种创新的互动方式,尤其在微信等社交平台上广泛应用。这种技术利用HTML5的Web运动API(Web Animation API)或Device Orientation事件来模拟现实世界中的摇晃动作,...