js实现手机摇一摇
//手机摇一摇 ----------------------------------------------------------
init();
var SHAKE_THRESHOLD = 3000;
var last_update = 0;
var x = y = z = last_x = last_y = last_z = 0;
function init() {
if (window.DeviceMotionEvent) {
window.addEventListener('devicemotion', deviceMotionHandler, false);
} else {
alert('not support mobile event');
}
}
function deviceMotionHandler(eventData) {
var acceleration = eventData.accelerationIncludingGravity;
var curTime = new Date().getTime();
if ((curTime - last_update) > 100) {
var diffTime = curTime - last_update;
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) {
alert("摇动了");
media.setAttribute("src", "http://211.148.5.228:8002/Pages/test/Kalimba.mp3");
media.load();
media.play();
}
last_x = x;
last_y = y;
last_z = z;
}
}
相关文章
- JS+CSS3 360度全景图插件 - Watch3D.js
- 用JS写一个计算器(兼容手机端)
- JS框架_(JQuery.js)动画效果鼠标跟随
- JS框架_(Qrcode.js)将你的内容转换成二维码格式
- JS框架_(Vue.js)带有星期日期的数字时钟
- JS - dom绑定函数中 return false 的作用
- JS - 解决引入 js 文件无效的问题
- JS插件之——bootstrap-suggest.js
- JS判断只能是数字和小数点
- [JS Pattern] Provider Pattern
- [Vue-rx] Share RxJS Streams to Avoid Multiple Requests in Vue.js
- Atitit. js mvc 总结(2)----angular 跟 Knockout o99 最佳实践
- 原生js实现随机验证码HTMl-JS
- three.js(JS 三维模型库)介绍和入门
- toFixed() 方法:js四舍五入为指定小数位数的数字(把保留小数点后几位并变成百分数)
- node.js JS对象和JSON字符串之间的转换
- JS:crypto-js模块实现数据加密解密
- js 实现归并排序
- 阅读zepto.js的core中的Core methods
- auto.js 手机上的按键精灵
- 【JS高级】js面向对象三大特性之多态_07
- 【JS高级】js面向对象三大特性之封装—如何创建对象_05
- 【JS高级】js之闭包对象_04
- 原生js实现随机验证码HTMl-JS