Skip to content

Instantly share code, notes, and snippets.

@FrankFan
Last active May 17, 2018 02:28
Show Gist options
  • Save FrankFan/225f918635d6da1911a1 to your computer and use it in GitHub Desktop.
Save FrankFan/225f918635d6da1911a1 to your computer and use it in GitHub Desktop.
HTML5 shake 晃动demo
```javascript
(function{
if(window.DeviceMotionEvent) {
alert('you');
window.addEventListener('devicemotion', deviceMotionHandler, false);
}else{
alert('no');
}
var SHAKE_THRESHOLD = 800;
var last_update = 0;
var x, y, z, last_x, last_y, last_z;
function deviceMotionHandler(eventData) {
var acceleration = eventData.accelerationIncludingGravity;
//alert(newDate().getTime());
var curTime = new Date().getTime();
// alert(curTime - last_update);
if ((curTime - last_update) > 300) {
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) {
alert("shaked!");
}
last_x = x;
last_y = y;
last_z = z;
}
}
})();
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment