html5摇一摇代码优化包括DeviceMotionEvent等等


Posted in HTML / CSS onSeptember 01, 2014

首先对DeviceMotionEvent进行优化;

去除无用的代码,重新封装DeviceMotionEven

复制代码
代码如下:

if(window.DeviceMotionEvent) {
var speed = 25;//定义一个数值
var x = y = z = lastX = lastY = lastZ = 0;//重置所有数值
window.addEventListener('devicemotion', function(){
var acceleration =event.accelerationIncludingGravity;//将传感值赋给acceleration
x = acceleration.x;
y = acceleration.y;
z = acceleration.z;
if(Math.abs(x-lastX) > speed || Math.abs(y-lastY) > speed ) {
// TODO:在此处可以实现摇一摇之后所要进行的数据逻辑操作
donghua();
}
lastX = x;
lastY = y;
lastZ = z;
}, false);
}

由于实际项目中有很多需求无法很好的实现,

比如:动画不执行完毕就不能继续执行DeviceMotionEvent事件;

所以做了进一步优化;

复制代码
代码如下:

var f=1;
function donghua(){
//动画事件
$(".img").animate({left:'0',opacity:'1'},700,function(){f=1;});
});
if(window.DeviceMotionEvent) {
var speed = 25;//定义一个数值
var x = y = z = lastX = lastY = lastZ = 0;//重置所有数值
window.addEventListener('devicemotion', function(){
var acceleration =event.accelerationIncludingGravity;//将传感值赋给acceleration
x = acceleration.x;
y = acceleration.y;
z = acceleration.z;
if(Math.abs(x-lastX) > speed || Math.abs(y-lastY) > speed ) {
// TODO:在此处可以实现摇一摇之后所要进行的数据逻辑操作
if(f==1){
donghua();
f=0;
}
}
lastX = x;
lastY = y;
lastZ = z;
}, false);
}

现在就完美了
HTML / CSS 相关文章推荐
css3 position fixed固定居中问题解决方案
Aug 19 HTML / CSS
详解CSS3选择器的使用方法汇总
Nov 24 HTML / CSS
魔幻般冒泡背景的CSS3按钮动画
Feb 27 HTML / CSS
浅谈css3中calc在less编译时被计算的解决办法
Dec 04 HTML / CSS
CSS3实现网站商品展示效果图
Jan 18 HTML / CSS
浅析CSS3 用text-overflow解决文字排版问题
Oct 28 HTML / CSS
CSS实现进度条和订单进度条的示例
Nov 05 HTML / CSS
html5 sessionStorage会话存储_动力节点Java学院整理
Jul 06 HTML / CSS
HTML5 微格式和相关的属性名称
Feb 10 HTML / CSS
使用HTML5的Canvas绘制曲线的简单方法
Sep 08 HTML / CSS
HTML5地理定位_动力节点Java学院整理
Jul 12 HTML / CSS
HTML5实现桌面通知 提示功能
Oct 11 HTML / CSS
Html5 FileReader实现即时上传图片功能实例代码
Sep 01 #HTML / CSS
html5定位获取当前位置并在百度地图上显示
Aug 22 #HTML / CSS
HTML5 transform三维立方体实现360无死角三维旋转效果
Aug 22 #HTML / CSS
html5 更新图片颜色示例代码
Jul 29 #HTML / CSS
Html5 语法与规则简要概述
Jul 29 #HTML / CSS
html5桌面通知(Web Notifications)实例解析
Jul 07 #HTML / CSS
HTML5实现WebSocket协议原理浅析
Jul 07 #HTML / CSS
You might like
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
PDO::commit讲解
2019/01/27 PHP
php实现简易计算器
2020/08/28 PHP
setTimeout与setInterval在不同浏览器下的差异
2010/01/24 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
2013/02/05 Javascript
JS+CSS实现滑动切换tab菜单效果
2015/08/25 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
JavaScript类的继承多种实现方法
2020/05/30 Javascript
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
Linux常见面试题
2013/03/18 面试题
成人毕业生自我鉴定
2013/10/18 职场文书
公司中层干部的自我评价分享
2014/03/01 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
2014年残疾人工作总结
2014/12/06 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
mysql中DCL常用的用户和权限控制
2022/03/31 MySQL
Spring Boot实现文件上传下载
2022/08/14 Java/Android