經過網上的資料,加上本身的整理。html
window.addEventListener("deviceorientation",function(event){// 處理event.alpha、event.beta及event.gamma},true); {alpha:90, beta:0, gamma:0};
{alpha:270- alpha, beta:0, gamma:90};
window.addEventListener("devicemotion",function(event){// 處理event.acceleration、event.accelerationIncludingGravity、// event.rotationRate和event.interval},true);
{acceleration:{x: v^2/r, y:0, z:0}, accelerationIncludingGravity:{x: v^2/r, y:0, z:9.81}, rotationRate:{alpha:0, beta:0, gamma:-v/r*180/pi}};
1 if(window.DeviceMotionEvent){ 2 window.addEventListener('devicemotion', YaoYiYao,false); 3 } 4 var speed =30;//speed 5 var x = y = z = lastX = lastY = lastZ =0; 6 function YaoYiYao(eventData){ 7 var acceleration =eventData.accelerationIncludingGravity; 8 x = acceleration.x; 9 y = acceleration.y; 10 z = acceleration.z; 11 if(Math.abs(x-lastX)> speed ||Math.abs(y-lastY)> speed ||Math.abs(z-lastZ)> speed){ 12 //簡單的搖一搖觸發代碼 13 alert(1); 14 } 15 lastX = x; 16 lastY = y; 17 lastZ = z; 18 }