Vibration API

Vibration API

Most up-to-date mobile gadgets embody vibration hardware, which lets machine code provide physical ideas to the actual person by causing the instrument to shake. The Vibration API provides Web apps the flexibility to access this hardware, if it exists, and does nothing if the instrument would no longer toughen it.

Describing vibrations

Vibration is described as a sample of on-off pulses, which could well presumably be of varying lengths. The sample could well also encompass either a single integer, describing the selection of milliseconds to vibrate, or an array of integers describing a sample of vibrations and pauses. Vibration is managed with a single design: Navigator.vibrate().

A single vibration

It is possible you’ll well presumably also pulse the vibration hardware one time by specifying either a single cost or an array consisting of finest one cost:


Every of those examples vibrate the instrument for 200 ms.

Vibration patterns

An array of values describes alternating sessions exact by design of which the instrument is vibrating and no longer vibrating. Every cost within the array is remodeled to an integer, then interpreted alternately as the selection of milliseconds the instrument ought to mute vibrate and the selection of milliseconds it would mute no longer be vibrating. To illustrate:

window.navigator.vibrate([200, 100, 200]);

This vibrates the instrument for 200 ms, then pauses for 100 ms earlier than vibrating the instrument again for but any other 200 ms.

It is possible you’ll well presumably also specify as many vibration/dwell pairs as you be pleased, and also which that that you must per chance well provide either a honest appropriate or irregular selection of entries; it’s price noting that that that you must per chance no longer contain to present a dwell as your ideal entry for the reason that vibration robotically stops on the quit of every and each vibration duration.

Canceling existing vibrations

Calling Navigator.vibrate() with a cost of 0, an empty array, or an array containing all zeros will assassinate any for the time being ongoing vibration sample.

Persevered vibrations

Some traditional setInterval and clearInterval action will enable you to’re making continual vibration:

var vibrateInterval;

feature startVibrate(duration) {

feature stopVibrate() {
    if(vibrateInterval) clearInterval(vibrateInterval);

feature startPersistentVibrate(duration, interval) {
    vibrateInterval = setInterval(feature() {
    }, interval);

Unnecessary to enlighten, the snippet above would no longer preserve in thoughts the array design of vibration; continual array-primarily primarily based vibration will require calculating the sum of the array objects and rising an interval in accordance with that number (with a further delay, presumably).


Browser compatibility

BCD tables finest load within the browser

Search also

Be half of the pack! Be half of 8000+ others registered users, and uncover chat, create groups, put up updates and create chums across the arena!



Hey! look, i give tutorials to all my users and i help them!