JS实现手机振动

来源:互联网 发布:mac ppt怎么裁剪图片 编辑:程序博客网 时间:2024/04/28 22:58

判断兼容

浏览器对振动API的支持情况,一个好的习惯就是在使用之前要检查一下当前你的应用环境、浏览器是否支持振动API。下面就是检测的方法:

var supportsVibrate = "vibrate" in navigator;

window.navigator对象里就只有一个关于振动的API:vibrate

振动API基础应用

这个navigator.vibrate函数可以接受一个数字参数,也可以接受一个数字数组,当使用数组参数时,奇数位的数值是震动秒数,偶数位为等待秒数。// 振动1秒navigator.vibrate(1000);// 振动多次// 参数分别是震动3秒,等待2秒,然后振动1秒navigator.vibrate([3000, 2000, 1000]);
// 停止振动navigator.vibrate(0);navigator.vibrate([]);

持续震动

我们可以简单的使用setInterval 和 clearInterval 方法产生让手机持续震动的效果:

var vibrateInterval;// 开始震动function startVibrate(duration) {    navigator.vibrate(duration);}// 停止震动function stopVibrate() {    // 清除间隔和停止持续振动    if(vibrateInterval) clearInterval(vibrateInterval);    navigator.vibrate(0);}//在给定的持续时间和间隔时开始持续的振动//假定一个数字值function startPeristentVibrate(duration, interval) {    vibrateInterval = setInterval(function() {        startVibrate(duration);    }, interval);}

上面的这段代码只是针对振动参数是一个数字的情况,如果参数是数组,你还需要计算一下它的总共持续时间,然后根据它的特征来进行循环。


0 0
原创粉丝点击