实现振动效果(微信小程序)
社区服务
火星文
银行
结婚
道具中心
勋章中心
管理操作原因
基本信息
管理团队
管理操作
在线会员
会员排行
版块排行
帖子排行
手机版
小说论坛
用户中心
搜索
银行
猴岛论坛
帖子
用户
版块
帖子
高级搜索
跑跑卡丁车
实物交易发布
纪念馆
QQ微信技术
动漫剧场
校园青春
聊天交友&心情咖啡
原神
和平精英
CSGO反恐精英
关闭
选中
1
篇
全选
猴岛论坛
电脑百科
实现振动效果(微信小程序)
发帖
回复
倒序阅读
最近浏览的帖子
最近浏览的版块
« 返回列表
新帖
悬赏
任务
交易贴
自动发卡
拍卖
红包
际遇红包
4
个回复
[技术小组]
实现振动效果(微信小程序)
楼层直达
算账
ZxID:29357411
关注Ta
注册时间
2013-09-11
最后登录
2024-11-21
发帖
38774
在线
2868小时
精华
0
DB
21296
威望
32088
保证金
0
桃子
19
鲜花
0
鸡蛋
0
访问TA的空间
加好友
用道具
发消息
加好友
他的帖子
对该用户使用道具
qq
等级:
版主
配偶:
浓酒与歌
举报
只看楼主
使用道具
楼主
发表于: 2023-08-17
0
描述:1.png
一、微信官方文档资料
官方地址:
https://developers.weixin.qq.com/miniprogram/dev/api/device/vibrate/wx.vibrateShort.html
描述:1.png
1、wx.vibrateShort(Object object)
基础库 1.2.0 开始支持,低版本需做兼容处理。
以 Promise 风格 调用:支持
小程序插件:支持,需要小程序基础库版本不低于 1.9.6
功能描述:
使手机发生较短时间的振动(15 ms)。仅在 iPhone 7 / 7 Plus 以上及 Android 机型生效
参数:
描述:1.png
案例说明:
wxml代码
复制代码
<button bindtap="vibrateShortTap">振动(15ms)</button>
js代码
复制代码
vibrateShortTap: function () {
// 使手机振动15ms
wx.vibrateShort();
},
2、wx.vibrateLong(Object object)
基础库 1.2.0 开始支持,低版本需做兼容处理。
以 Promise 风格 调用:支持
小程序插件:支持,需要小程序基础库版本不低于 1.9.6
功能描述:
使手机发生较长时间的振动(400 ms)
参数:
复制代码
属性 类型 默认值 必填 说明
success function 否 接口调用成功的回调函数
fail function 否 接口调用失败的回调函数
complete function 否 接口调用结束的回调函数(调用成功、失败都会执行)
案例说明:
wxml代码
复制代码
<button bindtap="vibrateLongTap">振动(400ms)</button>
js代码
复制代码
vibrateLongTap: function () {
// 使手机振动400ms
wx.vibrateLong();
},
二、手机振动应用场景
(以 wx.vibrateLong() 方法为例)
1、如何实现一直震动?
要实现一直震动的效果,可以使用 wx.vibrateLong() 方法以一定的时间间隔重复调用自身来实现。
以下是一个示例代码,实现一直震动的效果:
复制代码
function vibrateContinuously() {
wx.vibrateLong({
success: function () {
// 在成功回调中递归调用自身,以实现震动的连续效果
vibrateContinuously();
},
fail: function (err) {
console.error('震动调用失败:', err);
}
});
}
// 调用函数开始连续震动
vibrateContinuously();
在上述代码中,我们定义了一个名为 vibrateContinuously 的函数,在该函数中调用 wx.vibrateLong() 来触发长震动。在成功回调函数中,我们使用递归的方式再次调用 vibrateContinuously() 函数,从而实现连续震动的效果。
2、如何关闭连续震动?
要关闭连续震动,需要使用 wx.stopVibrate() 方法来停止当前正在进行的震动。以下是一个示例代码,用于关闭连续震动
:
复制代码
// 定义标记用于判断是否要停止震动
let shouldStopVibrating = false;
function vibrateContinuously() {
// 检查是否需要停止震动
if (shouldStopVibrating) {
return; // 停止震动
}
wx.vibrateLong({
success: function() {
// 在成功回调中递归调用自身,以实现连续震动的效果
vibrateContinuously();
},
fail: function(err) {
console.error('震动调用失败:', err);
}
});
}
// 调用函数开始连续震动
vibrateContinuously();
// 通过设置 shouldStopVibrating 为 true 来停止震动
shouldStopVibrating = true;
// 停止当前正在进行的震动
wx.stopVibrate();
在上述代码中,我们使用了一个名为 shouldStopVibrating 的标记变量,通过将其设置为 true 来停止震动。然后在递归函数 vibrateContinuously 中添加条件判断,如果 shouldStopVibrating 变量为 true,就直接退出函数,从而停止连续震动。最后,调用 wx.stopVibrate() 方法来停止当前正在进行的震动。
通过设置 shouldStopVibrating 变量为 true 可以立即停止震动,而调用 wx.stopVibrate() 方法可以停止正在进行的震动。根据你的具体需求,可以选择其中的一种或两种方式来关闭连续震动。
本帖de评分:
共
1
条评分
DB +10
Null.
DB
+10
2023-08-18
优秀文章
隐藏
本帖de打赏:
共
条打赏
隐藏
打赏
收藏
新鲜事
回复
引用
鲜花[
0
]
鸡蛋[
0
]
老赵.
ZxID:7272
关注Ta
注册时间
2006-09-19
最后登录
2024-11-21
发帖
23676
在线
3250小时
精华
0
DB
8474
威望
12345
保证金
800
桃子
47
鲜花
0
鸡蛋
0
访问TA的空间
加好友
用道具
发消息
加好友
他的帖子
对该用户使用道具
qq
等级:
总版主
配偶:
大小姐
啊?
举报
只看该作者
沙发
发表于: 2023-08-18
0
哇,很复杂不学了
本帖de评分:
共
0
条评分
隐藏
本帖de打赏:
共
条打赏
隐藏
回复
引用
新鲜事
鲜花[
0
]
鸡蛋[
0
]
归遇
ZxID:5231
关注Ta
注册时间
2006-09-11
最后登录
2024-11-18
发帖
9093
在线
3871小时
精华
0
DB
13575
威望
6666
保证金
0
桃子
21
鲜花
0
鸡蛋
0
访问TA的空间
加好友
用道具
发消息
加好友
他的帖子
对该用户使用道具
qq
等级:
版主
举报
只看该作者
板凳
发表于: 2023-08-18
0
感谢分享
本帖de评分:
共
0
条评分
隐藏
本帖de打赏:
共
条打赏
隐藏
点击进入
回复
引用
新鲜事
鲜花[
0
]
鸡蛋[
0
]
Null.
ZxID:171717
关注Ta
注册时间
2007-09-04
最后登录
2024-07-21
发帖
11158
在线
2514小时
精华
0
DB
113706
威望
666
保证金
0
桃子
13
鲜花
0
鸡蛋
0
访问TA的空间
加好友
用道具
发消息
加好友
他的帖子
对该用户使用道具
qq
等级:
版主
配偶:
金度延
接电脑组装配置咨询 IP查定位等
举报
只看该作者
地板
发表于: 2023-08-18
0
优秀文章
本帖de评分:
共
0
条评分
隐藏
本帖de打赏:
共
条打赏
隐藏
回复
引用
新鲜事
鲜花[
0
]
鸡蛋[
0
]
晚安
ZxID:63131
关注Ta
注册时间
2007-03-13
最后登录
2024-11-18
发帖
3764
在线
788小时
精华
0
DB
107
威望
2222
保证金
0
桃子
9
鲜花
0
鸡蛋
0
访问TA的空间
加好友
用道具
发消息
加好友
他的帖子
对该用户使用道具
qq
等级:
版主
和平精英板块欢迎您
举报
只看该作者
4楼
发表于: 2023-08-19
0
我这种人不适合
本帖de评分:
共
0
条评分
隐藏
本帖de打赏:
共
条打赏
隐藏
回复
引用
新鲜事
鲜花[
0
]
鸡蛋[
0
]
« 返回列表
发帖
回复
关闭