移動端h5搖一搖事件

//        搖一搖動做

//獲取加速度信息
//經過監聽上一步獲取到的x, y, z 值在必定時間範圍內的變化率,進行設備是否有進行晃動的判斷。
//而爲了防止正常移動的誤判,須要給該變化率設置一個合適的臨界值。
        var SHAKE_THRESHOLD = 4000;
        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)> 10) {
                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) {
                    $('.slide_06_text').fadeOut();
                    $('.milk_01').animate({top:'0'},1000);
                    $('.milk_02').show().animate({bottom:'0'},2000);
                    $('.yao_tips_01').animate({top:'5%'},1500);
                    $('.yao_tips_02').show().animate({bottom:'5%'},2000);
                    setTimeout(function(){
                        $('.slide_06').fadeOut();
                        $('.slide_04').fadeIn();
                    },2500);
                }
                last_x = x;
                last_y = y;
                last_z = z;
            }
        }
相關文章
相關標籤/搜索