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


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 相关文章推荐
Javascript 模式实例 观察者模式
Oct 24 Javascript
js导出table到excel同时兼容FF和IE示例
Sep 03 Javascript
js在指定位置增加节点函数insertBefore()用法实例
Jan 12 Javascript
简介BootStrap model弹出框的使用
Apr 27 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
Jun 12 Javascript
微信小程序 scroll-view隐藏滚动条详解
Jan 16 Javascript
几种tab切换详解
Feb 03 Javascript
微信小程序本地缓存数据增删改查实例详解
May 24 Javascript
微信小程序promsie.all和promise顺序执行
Oct 27 Javascript
详解小程序云开发数据库
May 20 Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 24 Javascript
vue实现在进行增删改操作后刷新页面
Aug 05 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
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
如何利用PHP执行.SQL文件
2013/07/05 PHP
php HTML无刷新提交表单
2016/04/05 PHP
ext 代码生成器
2009/08/07 Javascript
javascript 继承实现方法
2009/08/26 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
DOM 事件的深入浅出(二)
2016/12/05 Javascript
浅析Jquery操作select
2016/12/13 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
Python解决pip install时出现的Could not fetch URL问题
2019/08/01 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
鱼油专家:Omegavia
2016/10/10 全球购物
应届毕业生求职信
2013/11/30 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
售后客服工作职责
2014/06/16 职场文书
委托书格式
2014/08/01 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
2014年建筑工程工作总结
2014/12/03 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
sentinel支持的redis高可用集群配置详解
2022/04/01 Redis