手机振动APIvibrate
判断兼容浏览器对振动API的支持情况,一个好的习惯就是在使用之前要检查一下当前你的应用环境、浏览器是否支持振动API。下面就是检测的方法:
varsupportsVibrate=vibrateinnavigator;
在`window.navigator`对象里就只有一个关于振动的API:`vibrate`。
振动API基础应用
这个`navigator.vibrate`函数可以接受一个数字参数,也可以接受一个数字数组,当使用数组参数时,奇数位的数值是震动秒数,偶数位为等待秒数。
//振动1秒
navigator.vibrate();
//振动多次
//参数分别是震动3秒,等待2秒,然后振动1秒
navigator.vibrate([,,]);
如果想停止震动,你只需要向`navigator.vibrate`方法里传入`0`,或一个空数组:
//停止振动
navigator.vibrate(0);
navigator.vibrate([]);
对`navigator.vibrate`方法的调用并不会引起手机循环振动;当参数是一个数字时,振动之后发生一次,然后就停止下来。当参数是数组时,震动会按数组里的值震动,然后就停止振动。
持续震动我们可以简单的使用`setInterval`和`clearInterval`方法产生让手机持续震动的效果:
varvibrateInterval;
//开始震动
functionstartVibrate(duration){
navigator.vibrate(duration);
}
//停止震动
functionstopVibrate(){
//清除间隔和停止持续振动
if(vibrateInterval)clearInterval(vibrateInterval);
navigator.vibrate(0);
}
//在给定的持续时间和间隔时开始持续的振动
//假定一个数字值
functionstartPeristentVibrate(duration,interval){
vibrateInterval=setInterval(function(){
startVibrate(duration);
},interval);
}
上面的这段代码只是针对振动参数是一个数字的情况,如果参数是数组,你还需要计算一下它的总共持续时间,然后根据它的特征来进行循环。
文章来源于课工场微社区,感谢课工场老同学的知识分享。
也欢迎新同学加入课工场大家庭,好好学习天天向上!
Python
Jquery插件
JAVA书籍
Web核心技能
可下载书籍
MATERIALDESIGN前端框架
………………………………………………
学互联网课程就来课工场kgc.cn
↓↓↓
点击“阅读原文”
立即访问课工场微社区学习更多知识
赞赏
转载请注明:http://www.guyukameng.com/aspnet/aspnet/2017-12-13/8324.html