学习JavaScript之手机振动API
推断阅读器对振动API的支撑状况
一个好的习惯就是在使用此前要检查一下当前你的利用环境、阅读器可否支撑振动API。下面就是检测的办法:
// Standards ftw! 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
办法的调取并不会引发手机轮回振动;当参数是一个数字时,振动之后发生一次,然后就休止下来。当参数是数组时,震动会按数组里的值震动,然后就休止振动。
连续震动
我们可以简便的使用setInterval
和 clearInterval
办法发生让手机连续震动的结果:
var vibrateInterval; // Starts vibration at passed in level function startVibrate(duration) { navigator.vibrate(duration); } // Stops vibration function stopVibrate() { // Clear interval and stop persistent vibrating if(vibrateInterval) clearInterval(vibrateInterval); navigator.vibrate(0); } // Start persistent vibration at given duration and interval // Assumes a number value is given function startPeristentVibrate(duration, interval) { vibrateInterval = setInterval(function() { startVibrate(duration); }, interval); }
上面的这段代码只是针对振动参数是一个数字的状况,假如参数是数组,你还需要运算一下它的总共连续时间,然后按照它的特点来停止轮回。
使用振动(Vibration) API的场景
这个API明显是针对移动手机设备的。当开发手机WEB移动利用时,它是一个很好的警示工具,当在开发Web游戏或多媒体利用时,这个振动功效更是不成或缺的好技术。比方说,当会员在用一个手机玩你的WEB游戏时,当游戏中发生爆炸,而你让手机也跟从着振动,是不是一种很杰出的会员体验?
你对这个JavaScript振动API的感受怎样?是认为它会很快流行起来?还是没有多大用途?
以上就是学习JavaScript之手机振动API的具体内容,更多请关注百分百源码网其它相关文章!