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


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 相关文章推荐
jquery遍历input取得input的name
Apr 27 Javascript
JS中typeof与instanceof之间的区别总结
Nov 14 Javascript
javascript确认框的三种使用方法
Dec 17 Javascript
js判断图片加载完成后获取图片实际宽高的方法
Feb 25 Javascript
浅谈JS中逗号运算符的用法
Jun 12 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
Aug 25 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
Feb 05 Javascript
微信小程序之网络请求简单封装实例详解
Jun 28 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
Sep 28 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
Feb 14 Javascript
webpack打包非模块化js的方法
Oct 24 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
Jul 18 Javascript
微信小程序 动画的简单实例
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
php获取指定范围内最接近数的方法
2015/06/02 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
PHP实现微信对账单处理
2018/10/01 PHP
实用框架(iframe)操作代码
2014/10/23 Javascript
JavaScript中setFullYear()方法的使用详解
2015/06/11 Javascript
简述AngularJS的控制器的使用
2015/06/16 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
javaScript语法总结
2016/11/25 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
python实现最长公共子序列
2018/05/22 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
解决python "No module named pip" 的问题
2018/10/13 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
存储过程的优点有哪些
2012/09/27 面试题
团结就是力量演讲稿
2014/05/21 职场文书
学校社会实践活动总结
2014/07/03 职场文书
英文演讲稿开场白
2014/08/25 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
个人学习总结范文
2015/02/15 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
python爬虫框架feapde的使用简介
2021/04/20 Python
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
pytorch 6 batch_train 批训练操作
2021/05/28 Python