html 重力感应效果,HTML5 重力感应效果,实现摇一摇效果

HTML5 重力感应效果,实现摇一摇效果

html,body,div,ul,li{

margin: 0;

padding: 0;

}

ul,li{

list-style: none;

}

body{

width:100%;

}

#box{

width:90%;

height:80px;

background-color:orange;

margin:0 auto;

color:#fff;

background-position: center -50px;

}

//摇晃的力度

var SHAKE_THRESHOLD = 2000;

var last_update = 0;

//初始化重力感应位置

var x = y = z = last_x = last_y = last_z = 0;

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;

last_x = x;

last_y = y;

last_z = z;

//获取 X Y Z 的数值

document.getElementById('box').innerHTML = 'X:'+last_x+'
Y:'+last_y+'
Z:'+last_z;

//如果速度大于摇晃的力度那么执行alert

if (speed > SHAKE_THRESHOLD) {

alert('摇一摇');

}

}

}

//判断是否支持重力感应

if (window.DeviceMotionEvent) {

window.addEventListener('devicemotion', deviceMotionHandler, false);

} else {

alert('not support mobile event');

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值