微信小程序 页面滑动事件的实例详解


Posted in Javascript onOctober 12, 2017

微信小程序——页面滑动事件

wxml:

<view id="id" class = "ball" bindtap = "handletap" bindtouchstart = "handletouchtart" bindtouchmove="handletouchmove" bindtouchend="handletouchend" style = "width : 100%px; height : 40px;">
 {{text}}
 </view>

wxss:

.ball {
  box-shadow:2px 2px 10px #AAA;
  border-radius: 20px;
  position: absolute; 
 }

js:

//js
Page({
 data: {
  lastX: 0,     //滑动开始x轴位置
  lastY: 0,     //滑动开始y轴位置
  text: "没有滑动",
  currentGesture: 0, //标识手势
 },
 //滑动移动事件
 handletouchmove: function (event) {
  var currentX = event.touches[0].pageX
  var currentY = event.touches[0].pageY
  var tx = currentX - this.data.lastX
  var ty = currentY - this.data.lastY
  var text = ""
  //左右方向滑动
  if (Math.abs(tx) > Math.abs(ty)) {
   if (tx < 0)
    text = "向左滑动"
   else if (tx > 0)
    text = "向右滑动"
  }
  //上下方向滑动
  else {
   if (ty < 0)
    text = "向上滑动"
   else if (ty > 0)
    text = "向下滑动"
  }

  //将当前坐标进行保存以进行下一次计算
  this.data.lastX = currentX
  this.data.lastY = currentY
  this.setData({
   text: text,
  });
 },

 //滑动开始事件
 handletouchtart: function (event) {
  this.data.lastX = event.touches[0].pageX
  this.data.lastY = event.touches[0].pageY
 },
 //滑动结束事件
 handletouchend: function (event) {
  this.data.currentGesture = 0;
  this.setData({
   text: "没有滑动",
  });
 },
})

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
JS 有名函数表达式全面解析
Mar 19 Javascript
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
Mar 25 Javascript
JS 跳转页面延迟2种方法
Mar 29 Javascript
jQuery中.live()方法的用法深入解析
Dec 30 Javascript
jquery+css3打造一款ajax分页插件(自写)
Jun 18 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
Jun 23 Javascript
根据配置文件加载js依赖模块
Dec 29 Javascript
AngularJS 防止页面闪烁的方法
Mar 09 Javascript
Vue 自定义动态组件实例详解
Mar 28 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
Jul 28 Javascript
彻底揭秘keep-alive原理(小结)
May 05 Javascript
jquery ajax 请求小技巧实例分析
Nov 11 jQuery
微信小程序 动画的简单实例
Oct 12 #Javascript
node通过npm写一个cli命令行工具
Oct 12 #Javascript
JS实现自定义状态栏动画文字效果示例
Oct 12 #Javascript
AngularJS实现表单验证功能详解
Oct 12 #Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
Oct 12 #Javascript
AngularJS 中的数据源的循环输出
Oct 12 #Javascript
详解微信小程序中的页面代码中的模板的封装
Oct 12 #Javascript
You might like
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
php如何执行非缓冲查询API
2016/07/22 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/01/13 Javascript
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
微信小程序 参数传递实例代码
2017/03/20 Javascript
Nodejs回调加超时限制两种实现方法
2017/06/09 NodeJs
AngularJS实现单一页面内设置跳转路由的方法
2017/06/28 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
JavaScript EventEmitter 背后的秘密 完整版
2018/03/29 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
Python实现简单HTML表格解析的方法
2015/06/15 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
python使用mysql数据库示例代码
2017/05/21 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
Python基于csv模块实现读取与写入csv数据的方法
2018/01/18 Python
为什么Python中没有&quot;a++&quot;这种写法
2018/11/27 Python
Django中使用Whoosh进行全文检索的方法
2019/03/31 Python
Django如何自定义model创建数据库索引的顺序
2019/06/20 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
2014年学生会个人工作总结
2014/11/07 职场文书
院系推荐意见
2015/06/05 职场文书
董事长新年致辞
2015/07/29 职场文书
python编程实现清理微信重复缓存文件
2021/11/01 Python