当前位置:首页 > VUE

vue实现手机震动

2026-02-18 18:42:04VUE

使用Vibration API实现手机震动

Vue中可以通过调用浏览器的Vibration API实现手机震动功能。该API允许控制设备的振动硬件,适合在移动端浏览器中使用。

检查浏览器支持情况

在调用振动API前,应该先检查浏览器是否支持该功能:

const isVibrationSupported = 'vibrate' in navigator;

基本震动实现

简单的单次震动可以通过以下代码实现:

vue实现手机震动

// 震动100毫秒
navigator.vibrate(100);

// 在Vue方法中调用
methods: {
  vibrate() {
    if ('vibrate' in navigator) {
      navigator.vibrate(100);
    }
  }
}

震动模式

可以设置更复杂的震动模式,传入数组指定震动和间隔时间:

// 震动200ms,暂停100ms,再震动300ms
navigator.vibrate([200, 100, 300]);

停止震动

要取消当前震动,可以调用:

vue实现手机震动

navigator.vibrate(0);

Vue组件封装示例

可以封装成可复用的Vue组件:

<template>
  <button @click="vibrate">震动</button>
</template>

<script>
export default {
  methods: {
    vibrate() {
      if (!('vibrate' in navigator)) {
        console.warn('Vibration API not supported');
        return;
      }

      // 震动模式:短-长-短
      navigator.vibrate([100, 50, 200]);
    }
  }
}
</script>

注意事项

振动API在iOS设备上支持有限,某些版本可能不支持。建议始终检查API可用性。

长时间或频繁震动可能影响用户体验,应谨慎使用。某些浏览器可能限制振动时长或需要用户手势触发。

标签: 手机vue
分享给朋友:

相关文章

vue实现发送值接受值

vue实现发送值接受值

Vue 实现父子组件传值 父组件向子组件传值(props) 父组件通过 v-bind 或简写 : 向子组件传递数据。子组件通过 props 接收数据。 父组件代码: <template&g…

vue实现边框

vue实现边框

Vue 实现边框的方法 在 Vue 中实现边框效果可以通过多种方式完成,包括内联样式、CSS 类绑定、动态样式以及使用第三方 UI 库。以下是几种常见的实现方法。 内联样式绑定 使用 Vue 的 :…

vue交互实现

vue交互实现

Vue 交互实现方法 Vue.js 提供了多种方式实现用户交互,包括事件处理、表单绑定、动态渲染等。以下是常见的交互实现方法: 事件处理 通过 v-on 或 @ 指令绑定事件,触发方法或直接执行表达…

vue实现oauth

vue实现oauth

Vue 实现 OAuth 的步骤 安装必要的依赖 确保项目中安装了 axios 和 vue-router。OAuth 通常需要发送 HTTP 请求和处理路由跳转。 npm install axios…

vue实现购票

vue实现购票

Vue 实现购票功能 数据结构设计 购票功能通常需要以下数据结构: 场次信息(时间、地点、价格) 座位信息(可选座位、已售座位) 用户订单信息 示例数据结构: data() { return…

vue搜索实现

vue搜索实现

Vue 搜索功能实现方法 基于计算属性的搜索 在 Vue 中可以通过计算属性实现简单的搜索功能。这种方式适合小型数据集,利用 JavaScript 的 filter 方法进行筛选。 data() {…