onShow: function () { var that = this; that.initAnimation(); //两个动画 wx.startAccelerometer({ //开始监听加速器数据 success:function(e){ console.log("startAccelerometer",e) } }) //重力加速度 wx.onAccelerometerChange(function (res) { //监听加速度数据事件 //console.log(res.x) //console.log(res.y) // console.log(res.z) if (res.x > .3 && res.y > .3) { //当手机晃动我们可以判断x轴大于3且y轴大于3时执行我们的事件 wx.showToast({ title: '摇一摇成功', icon: 'success', duration: 2000 }) that.startAnimation(); //启动动画 that.vibrateShort(); //手机震动 } }) },解释上述代码
时间: 2024-02-14 11:26:20 浏览: 93
微信小程序中为什么使用var that=this
这段代码是一个小程序中的onShow函数,表示小程序页面显示时的操作。具体解释如下:
1. `var that = this;`:将当前对象的引用赋值给变量that,用于在内部函数中引用外部函数的作用域。
2. `that.initAnimation();`:调用initAnimation()函数,用于初始化动画。
3. `wx.startAccelerometer()`:调用微信小程序的startAccelerometer()函数,开始监听加速器数据。成功时会执行success回调函数,该函数中打印出成功的信息。
4. `wx.onAccelerometerChange(function (res) { ... })`:监听加速度数据事件,当加速度数据发生变化时触发回调函数。回调函数中获取加速度数据res,可以通过res.x、res.y、res.z获取x、y、z轴的加速度值。
5. `if (res.x > .3 && res.y > .3) { ... }`:判断手机晃动的条件,当x轴大于0.3且y轴大于0.3时执行下面的代码。
6. `wx.showToast({ ... })`:调用微信小程序的showToast()函数,显示一个弹出框提示"摇一摇成功",并设置图标为成功的图标,持续时间为2秒。
7. `that.startAnimation();`:调用startAnimation()函数,启动动画。
8. `that.vibrateShort();`:调用vibrateShort()函数,使手机进行短暂的震动。
阅读全文