JavaScript振动脚本修改

时间:2017-04-09 07:26:01

标签: javascript jquery html html5

当用户进入我的网站时,我正在尝试实施振动系统。

我使用过这段代码:

var warning = function() {
  //
}
setTimeout(warning, 100);
// Play notification
if (window.navigator && window.navigator.vibrate) {
  // Vibrate once for 1 second
  navigator.vibrate(1000);
  // Wait 1 second than display warning
} else {
  // Stop vibrating
  navigator.vibrate(0);
}

它只振动一次。但它需要至少3倍的振动才能让游客感受到它。

如何使用此脚本执行此操作?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以通过passing an array to navigator.vibrate设置振动模式,其中元素表示一系列“振动”和“休息”时段(以毫秒为单位)。

// Vibrate three times for 1 second each, with 100ms pauses
navigator.vibrate([1000, 100, 1000, 100, 1000])

您也不需要else子句,因为在播放完成后振动会自动停止。

function warning() {
  alert('Warning!')
}

// Play notification
if (window.navigator && window.navigator.vibrate) {
  // Vibrate three times for 1 second each, with 100ms pauses
  navigator.vibrate([1000, 100, 1000, 100, 1000])
  // Wait 1 second, then display warning
  setTimeout(warning, 1000)
}

(请注意,我个人认为我不会感谢网站在加载时这样做。)

答案 1 :(得分:0)

您可能需要以下列方式传递数组中的值

在两次振动之间暂停250ms会振动三次

navigator.vibrate([1000, 250, 1000, 250, 1000])