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中的元素过渡属性transition示例详解
Nov 30 HTML / CSS
css3背景图片透明叠加属性cross-fade简介及用法实例
Jan 08 HTML / CSS
CSS3对背景图片的裁剪及尺寸和位置的设定方法
Mar 07 HTML / CSS
CSS3实现时间轴效果
Jul 11 HTML / CSS
使用CSS3制作一个简单的进度条(demo)
May 23 HTML / CSS
用纯CSS3实现网页中常见的小箭头
Oct 16 HTML / CSS
css3进阶之less实现星空动画的示例代码
Sep 10 HTML / CSS
CSS3新增布局之: flex详解
Jun 18 HTML / CSS
html5视频常用API接口的实战示例
Mar 20 HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
Apr 27 HTML / CSS
AmazeUI 网格的实现示例
Aug 13 HTML / CSS
基于CSS3画一个iPhone
Apr 21 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
解析CodeIgniter自定义配置文件
2013/06/18 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
js获取浏览器基本信息大全
2014/11/27 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
jQuery实现的可编辑表格完整实例
2016/06/20 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
Python解惑之整数比较详解
2017/04/24 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
Python加密模块的hashlib,hmac模块使用解析
2020/01/02 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
马来西亚时装购物网站:ZALORA马来西亚
2017/03/14 全球购物
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
写给女生的道歉信
2014/01/08 职场文书
网站客服岗位职责
2014/04/05 职场文书
艺术教育实施方案
2014/05/03 职场文书
成立公司计划书
2014/05/07 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
vue判断按钮是否可以点击
2022/04/09 Vue.js