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


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 相关文章推荐
jquery定时滑出可最小化的底部提示层特效代码
Oct 02 Javascript
javascript教程之不完整的继承(js原型链)
Jan 13 Javascript
绑定回车enter事件代码
May 18 Javascript
JavaScript获取指定元素位置的方法
Apr 08 Javascript
简介JavaScript中Math.cos()余弦方法的使用
Jun 15 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
Aug 25 Javascript
js钢琴按钮波浪式图片排列效果代码分享
Aug 26 Javascript
用jQuery实现优酷首页轮播图
Jan 09 Javascript
jQuery倒计时代码(超简单)
Feb 27 Javascript
Angular组件化管理实现方法分析
Mar 17 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
Oct 04 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
Oct 31 Javascript
基于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缓存类代码(附详细说明)
2011/06/09 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
jQuery 使用手册(六)
2009/09/23 Javascript
JS图片预加载 JS实现图片预加载应用
2012/12/03 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
2017/08/18 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
Nodejs处理异常操作示例
2018/12/25 NodeJs
JavaScript适配器模式原理与用法实例详解
2020/03/09 Javascript
用javascript实现倒计时效果
2021/02/09 Javascript
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
django从请求到响应的过程深入讲解
2018/08/01 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
c/c++某大公司的两道笔试题
2014/02/02 面试题
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
自我评价是什么
2014/01/04 职场文书
中秋节超市促销方案
2014/01/30 职场文书
本科毕业生自荐信
2014/05/26 职场文书
校园文化标语
2014/06/18 职场文书
体育教师求职信
2014/06/30 职场文书
房屋买卖协议样本
2014/11/16 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
通讯稿格式及范文
2015/07/22 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书