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


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 相关文章推荐
通过event对象的fromElement属性解决热区设置主实体的一个bug
Dec 22 Javascript
JavaScript 直接操作本地文件的实现代码
Dec 01 Javascript
JQuery实现用户名无刷新验证的小例子
Mar 22 Javascript
javascript实现日期时间动态显示示例代码
Sep 08 Javascript
jQuery简单实现上下,左右滑动的方法
Jun 01 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
Dec 31 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
Mar 01 Javascript
JavaScript中Require调用js的实例分享
Oct 27 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
Jan 09 jQuery
对于防止按钮重复点击的尝试详解
Apr 22 Javascript
微信小程序自定义弹窗实现详解(可通用)
Jul 04 Javascript
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 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
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
javascript中hasOwnProperty() 方法使用指南
2015/03/09 Javascript
Flash图片上传组件 swfupload使用指南
2015/03/14 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
在JavaScript中使用NaN值的方法
2015/06/05 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
2018/11/05 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
解决vue项目 build之后资源文件找不到的问题
2020/09/12 Javascript
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2019/01/10 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
Python 3 判断2个字典相同
2019/08/06 Python
Python 多线程其他属性以及继承Thread类详解
2019/08/28 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
详解移动端h5页面根据屏幕适配的四种方案
2020/04/15 HTML / CSS
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
团组织关系介绍信
2014/01/12 职场文书
军训自我鉴定100字
2014/02/13 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
Golang实现可重入锁的示例代码
2022/05/25 Golang