微信小程序“摇一摇”的实例代码


Posted in Javascript onJuly 20, 2017

微信小程序并没有提供摇一摇API接口,但是提供了一个重力感应的API 「wx.onAccelerometerChange(CALLBACK)」,我们可以用这个方法来模拟微信摇一摇功能,代码如下:

Page({
  onShow: function () {
    wx.onAccelerometerChange(function (e) {
      console.log(e.x)
      console.log(e.y)
      console.log(e.z)
      if (e.x > 1 && e.y > 1) {
        wx.showToast({
          title: '摇一摇成功',
          icon: 'success',
          duration: 2000
        })
      }
    })
  },
  onHide: function(){
  }
})

但如果小程序需要启用tabbar的话,这样启用重力感应API会使tabbar下面所有页面都会监听到重力感应数据,导致模拟摇一摇在所有页面都能出现摇一摇的结果,这并不是我们想要的,我们只是想在tabbar下其中一个页面允许他获取到重力感应数据,那么就需要我们自己加入一个是否在当前页面的判断,根据判断结果来启用监听重力感应API,代码修改如下:

Page({
  isShow: false,
  onShow: function () {
    var that = this;
    this.isShow = true;
    wx.onAccelerometerChange(function (e) {
      if(!that.isShow){
        return
      }
      console.log(e.x)
      console.log(e.y)
      console.log(e.z)
      if (e.x > 1 && e.y > 1) {
        wx.showToast({
          title: '摇一摇成功',
          icon: 'success',
          duration: 2000
        })
      }
    })
  },
  onHide: function(){
    this.isShow = false;
  }
})

修改以后重新编译预览就达到我们想要的效果了。

总结

以上所述是小编给大家介绍的微信小程序“摇一摇”的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
document.documentElement的一些使用技巧
Apr 18 Javascript
js点击出现悬浮窗效果不使用JQuery插件
Jan 20 Javascript
node.js操作mysql(增删改查)
Jul 24 Javascript
JS实现霓虹灯文字效果的方法
Aug 06 Javascript
js输出数据精确到小数点后n位代码
Jul 02 Javascript
AngularJS基础 ng-init 指令简单示例
Aug 02 Javascript
javascript 跨域问题以及解决办法
Jul 17 Javascript
Angular2进阶之如何避免Dom误区
Apr 02 Javascript
详解VUE项目中安装和使用vant组件
Apr 28 Javascript
Vue和React有哪些区别
Sep 12 Javascript
vue项目打包后请求地址错误/打包后跨域操作
Nov 04 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
基于JavaScript实现微信抢红包功能
Jul 20 #Javascript
ReactNative短信验证码倒计时控件的实现代码
Jul 20 #Javascript
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
Jul 20 #jQuery
详解Angular CLI + Electron 开发环境搭建
Jul 20 #Javascript
JavaScript 基础表单验证示例(纯Js实现)
Jul 20 #Javascript
js 事件的传播机制(实例讲解)
Jul 20 #Javascript
详谈for循环里面的break和continue语句
Jul 20 #Javascript
You might like
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
2016/08/08 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
php接口技术实例详解
2016/12/07 PHP
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
Nuxt v-bind绑定img src不显示的解决
2019/12/05 Javascript
js实现九宫格抽奖
2020/03/19 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
python 循环遍历字典元素的简单方法
2016/09/11 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2018/05/24 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
师范生实习自我鉴定
2013/11/01 职场文书
检查接待方案
2014/02/27 职场文书
幼儿教师培训感言
2014/03/08 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
大学推普周活动总结
2015/05/07 职场文书
党员发展大会主持词
2015/07/03 职场文书
学校教学管理制度
2015/08/06 职场文书
分享3个非常实用的 Python 模块
2022/03/03 Python
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python