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


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 相关文章推荐
禁止选中文字兼容IE、Chrome、FF等
Sep 04 Javascript
jquery实现可拖拽弹出层特效
Jan 04 Javascript
jQuery Easyui datagrid/treegrid 清空数据
Jul 09 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
Dec 22 Javascript
JS实现移动端判断上拉和下滑功能
Aug 07 Javascript
echarts饼图扇区添加点击事件的实例
Oct 16 Javascript
Angular2进阶之如何避免Dom误区
Apr 02 Javascript
angular4笔记系列之内置指令小结
Nov 09 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
May 06 Javascript
javascript中this的用法实践分析
Jul 29 Javascript
Nuxt的路由动画效果案例
Nov 06 Javascript
使用vue3重构拼图游戏的实现示例
Jan 25 Vue.js
微信小程序 动画的简单实例
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中文本数据翻页(留言本翻页)
2006/10/09 PHP
php 信息采集程序代码
2009/03/17 PHP
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
PHP mysql与mysqli事务使用说明 分享
2013/08/17 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
js 提交和设置表单的值
2008/12/19 Javascript
Javascript 面向对象特性
2009/12/28 Javascript
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
基于jQuery实现选项卡效果
2017/01/04 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
Python简单I/O操作示例
2019/03/18 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
HTML5 WebSocket实现点对点聊天的示例代码
2018/01/31 HTML / CSS
《要下雨了》教学反思
2014/02/17 职场文书
黄金搭档广告词
2014/03/21 职场文书
建设工程授权委托书
2014/09/22 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
子女赡养老人协议书
2016/03/23 职场文书