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 相关文章推荐
35款精致的 CSS3 和 HTML5 网页模板 推荐
Aug 03 HTML / CSS
使用CSS3美化HTML表单的技巧演示
May 17 HTML / CSS
详解Html5中video标签那些属性和方法
Jul 01 HTML / CSS
基于html5 canvas实现漫天飞雪效果实例
Sep 10 HTML / CSS
IE9对HTML5中部分属性不支持的原因分析
Oct 15 HTML / CSS
利用HTML5中的Canvas绘制一张笑脸的教程
May 07 HTML / CSS
HTML5中Localstorage的使用教程
Jul 09 HTML / CSS
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
Mar 15 HTML / CSS
使用HTML5里的classList操作CSS类
Jun 28 HTML / CSS
Web前端页面跳转并取到值
Apr 24 HTML / CSS
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
Jan 19 HTML / CSS
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
Mar 30 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采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
php通过排列组合实现1到9数字相加都等于20的方法
2015/08/03 PHP
浅谈PHP中foreach/in_array的使用
2015/11/02 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
javascript 支持链式调用的异步调用框架Async.Operation
2009/08/04 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
react实现点击选中的li高亮的示例代码
2018/05/24 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
Python中datetime常用时间处理方法
2015/06/15 Python
Python作用域用法实例详解
2016/03/15 Python
使用python绘制常用的图表
2016/08/27 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
python爬取微信公众号文章
2018/08/31 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
Python实现TCP通信的示例代码
2019/09/09 Python
python实现梯度法 python最速下降法
2020/03/24 Python
Python将字典转换为XML的方法
2020/08/01 Python
加拿大最大的书店:Indigo
2017/01/01 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
Shell编程面试题
2016/05/29 面试题
单位考核鉴定意见
2015/06/05 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书
python神经网络 使用Keras构建RNN训练
2022/05/04 Python
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python