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


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 相关文章推荐
一个关于jqGrid使用的小例子(行按钮)
Nov 04 Javascript
js中通过split函数分割字符串成数组小例子
Sep 21 Javascript
EasyUI实现第二层弹出框的方法
Mar 01 Javascript
JQuery的Pager分页器实现代码
May 03 Javascript
深入解析JavaScript中的arguments对象
Jun 12 Javascript
js事件委托和事件代理案例分享
Jul 25 Javascript
JavaScript 异步调用
Oct 25 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
Aug 12 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
Sep 17 Javascript
利用原生的JavaScript实现简单拼图游戏
Nov 18 Javascript
新手快速上手webpack4打包工具的使用详解
Jan 28 Javascript
Element-UI中Upload上传文件前端缓存处理示例
Feb 21 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过滤危险html代码
2008/08/18 PHP
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
jQuery学习笔记之Helloworld
2010/12/22 Javascript
javascript处理a标签超链接默认事件的方法
2015/06/29 Javascript
简单三步实现报表页面集成天气
2016/12/15 Javascript
javaScript实现复选框全选反选事件详解
2020/11/20 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
c++生成dll使用python调用dll的方法
2014/01/20 Python
Python使用MONGODB入门实例
2015/05/11 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
教你一步步利用python实现贪吃蛇游戏
2019/06/27 Python
python爬虫之遍历单个域名
2019/11/20 Python
Python使用configparser库读取配置文件
2020/02/22 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
Python实现代码块儿折叠
2020/04/15 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
Matplotlib animation模块实现动态图
2021/02/25 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
酒店服务实习自我鉴定
2013/09/22 职场文书
浙大毕业生自荐信
2014/01/26 职场文书
庆祝教师节活动方案
2014/01/31 职场文书
地理教师岗位职责
2014/03/16 职场文书
安全责任书范文
2014/08/25 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
工资收入证明
2014/10/07 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL
Mysql开启外网访问
2022/05/15 MySQL