Специальный плагин JavaScript для событий «встряхивания» для мобильных веб-браузеров, использующий акселерометр устройства.
npm install shake.js
bower install shake.js
git clone https://github.com/alexgibson/shake.js
Чтобы этот плагин работал, ваш веб-браузер должен поддерживать событие devicemotion
. Shake.js использует встроенную функцию обнаружения, чтобы определить, можно ли его запустить в вашем веб-браузере. Он автоматически завершится в неподдерживающих браузерах.
http://w3c.github.io/deviceorientation/spec-source-orientation.html
Для CommonJS с использованием NPM:
var Shake = require('shake.js');
Для модуля AMD:
define(['./shake'], function(Shake) {
// ...
});
В браузере:
<script src="shake.js"></script>
Затем создайте новый экземпляр Shake:
var myShakeEvent = new Shake({
threshold: 15, // optional shake strength threshold
timeout: 1000 // optional, determines the frequency of event generation
});
Начните слушать движение устройства:
myShakeEvent.start();
Зарегистрируйте прослушиватель событий shake
в window
с помощью обратного вызова:
window.addEventListener('shake', shakeEventDidOccur, false);
//function to call when shake occurs
function shakeEventDidOccur () {
//put your own code here etc.
alert('shake!');
}
Вы можете перестать слушать события встряски следующим образом:
window.removeEventListener('shake', shakeEventDidOccur, false);
Чтобы прекратить прослушивание движения устройства, вы можете позвонить:
myShakeEvent.stop();