博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS vibrate能让手机振动的API
阅读量:5832 次
发布时间:2019-06-18

本文共 1169 字,大约阅读时间需要 3 分钟。

许多由浏览器厂商提供给我们新的API接口,是专门针对移动用户。这些简单的API之一振动的API。振动的API允许开发者直接调用设备震动,使用JavaScript,在给定时间的振动模式。

判断兼容

浏览器对振动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(0);navigator.vibrate([]);复制代码

navigator.vibrate方法的调用并不会引起手机循环振动;当参数是一个数字时,振动之后发生一次,然后就停止下来。当参数是数组时,震动会按数组里的值震动,然后就停止振动。

持续震动

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

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);}复制代码

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

文档参考

转载地址:http://ldrdx.baihongyu.com/

你可能感兴趣的文章
linux命令:ls
查看>>
Using RequireJS in AngularJS Applications
查看>>
hdu 2444(二分图最大匹配)
查看>>
【SAP HANA】关于SAP HANA中带层次结构的计算视图Cacultation View创建、激活状况下在系统中生成对象的研究...
查看>>
DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾
查看>>
iOS 解决UITabelView刷新闪动
查看>>
CentOS 7 装vim遇到的问题和解决方法
查看>>
JavaScript基础教程1-20160612
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>
通过容器编排和服务网格来改进Java微服务的可测性
查看>>
re:Invent解读:没想到你是这样的AWS
查看>>
PyTips 0x02 - Python 中的函数式编程
查看>>
使用《Deep Image Prior》来做图像复原
查看>>
Linux基础命令---rmdir
查看>>
Squid 反向代理服务器配置
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
灰度图像和彩色图像
查看>>
FreeMarker-Built-ins for strings
查看>>