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


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 ui resizable bug解决方法
Oct 26 Javascript
新发现一个骗链接的方法(js读取cookies)
Jan 11 Javascript
js完美的div拖拽实例代码
Jan 22 Javascript
JS数组去重与取重的示例代码
Jan 24 Javascript
jquery1.10给新增元素绑定事件的方法
Mar 06 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
Mar 24 Javascript
JS与jQ读取xml文件的方法
Dec 08 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
May 05 Javascript
微信小程序 location API接口详解及实例代码
Oct 12 Javascript
详解jQuery简单的表单应用
Dec 16 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
Feb 10 Javascript
Three.js中矩阵和向量的使用教程
Mar 19 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
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
js+css绘制颜色动态变化的圈中圈效果
2016/01/27 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
js实现拖拽功能
2017/03/01 Javascript
nodejs中sleep功能实现暂停几秒的方法
2017/07/12 NodeJs
使用yeoman构建angular应用的方法
2017/08/14 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
专升本个人自我评价
2013/12/22 职场文书
打架检讨书50字
2014/01/11 职场文书
毕业自我鉴定怎么写
2014/03/25 职场文书
2014年基建工作总结
2014/12/12 职场文书
行政文员岗位职责
2015/02/04 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
Redis集群的关闭与重启操作
2021/07/07 Redis
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL
Apache Hudi集成Spark SQL操作hide表
2022/03/31 Servers