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


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 变量作用域分析
Jul 04 Javascript
js单词形式的运算符
May 06 Javascript
JavaScript中如何通过arguments对象实现对象的重载
May 12 Javascript
jQuery validate插件实现ajax验证重复的2种方法
Jan 22 Javascript
AngularJS中的包含详细介绍及实现示例
Jul 28 Javascript
不间断循环滚动效果的实例代码(必看篇)
Oct 08 Javascript
jquery 动态增加删除行的简单实例(推荐)
Oct 12 Javascript
tab栏切换原理
Mar 22 Javascript
详解angularJs中关于ng-class的三种使用方式说明
Jun 02 Javascript
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
jQuery发请求传输中文参数乱码问题的解决方案
May 22 jQuery
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
May 22 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 之 没有mysql支持时的替代方案
2006/10/09 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
如何运行/调试你的PHP代码
2020/10/23 PHP
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
JS实现两个大数(整数)相乘
2014/04/28 Javascript
JavaScript替换当前页面的方法
2015/04/03 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
基于layui内置模块(element常用元素的操作)
2019/09/20 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
vc6编写python扩展的方法分享
2014/01/17 Python
Python学习笔记之os模块使用总结
2014/11/03 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
2015/04/30 Python
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
Python创建xml文件示例
2017/03/22 Python
Mac 上切换Python多版本
2017/06/17 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
django 实现简单的插入视频
2020/04/07 Python
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
Solaris操作系统的线程机制
2015/07/28 面试题
网上卖盒饭创业计划书
2014/01/26 职场文书
护士毕业实习感言
2014/03/05 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
端午节演讲稿
2014/05/23 职场文书
TV动画《八十龟酱观察日记》第四季宣传PV公布
2022/04/06 日漫