码迷,mamicode.com
首页 > 移动开发 > 详细

html5 实现手机摇一摇功能(B)

时间:2015-07-13 13:46:28      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>摇晃判断</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
</head>
<body>
    
    <div id="status">[-请晃动设备-]</div>

    <div class="link" style="position:fixed;bottom:20px">
        <a href="demo.htm">1、 获取设备信息</a><br />
        <a href="demo_1.htm">2、 摇晃判断</a><br />
        <a href="demo_2.htm">3、 简易模拟微信摇一摇</a>
    </div>
    <script>
    var SHAKE_THRESHOLD = 800;
    var last_update = 0;
    var x = y = z = last_x = last_y = last_z = 0;

    if (window.DeviceMotionEvent) {
        window.addEventListener(devicemotion, deviceMotionHandler, false);
    } else {
        alert(本设备不支持devicemotion事件);
    }

    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;
            var status = document.getElementById("status");

            if (speed > SHAKE_THRESHOLD) {
                var text = "x:"+x+"<br />y:"+y+"<br />z:"+z+"<br />speed:"+speed;
                status.innerHTML = text;
            }
            last_x = x;
            last_y = y;
            last_z = z;
        }
    }
    </script>

</body>
</html>

 

html5 实现手机摇一摇功能(B)

标签:

原文地址:http://www.cnblogs.com/Tongjanghu/p/4642555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!