js摇一摇

js摇一摇  

2013-06-24 11:18:45|  分类: 前端|举报|字号 订阅

 
 
用javascript实现手机摇一摇

if(navigator.userAgent.indexOf('iPhone')>-1)
{
    var SHAKE_THRESHOLD =2000;
}
else
{
    if(navigator.userAgent.indexOf('QQ')>-1)
    {
        var SHAKE_THRESHOLD =1000;
    }
    else
    {
        var SHAKE_THRESHOLD =4000;
    }
 
}
 
根据手机反应的不同SHAKE_THRESHOLD值可以设置为不同的值
 
var last_update = 0;
var x, y, z, last_x=0, last_y=0, last_z=0;
 
function deviceMotionHandler(eventData) {
 
    var acceleration =eventData.accelerationIncludingGravity;
    var curTime = new Date().getTime();
 
    if ((curTime - last_update)> 100) {
        var diffTime = parseInt(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('摇一摇');
            
        }
        last_x = x;
        last_y = y;
        last_z = z;
    }
}

 
if (window.DeviceMotionEvent) {
            window.addEventListener('devicemotion',deviceMotionHandler, false);
    }
原文地址:https://www.cnblogs.com/qqyuhaitao/p/3680094.html