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


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 相关文章推荐
List all the Databases on a SQL Server
Jun 21 Javascript
jQuery学习笔记之jQuery的事件
Dec 22 Javascript
JS实现将人民币金额转换为大写的示例代码
Feb 13 Javascript
Javascript玩转继承(二)
May 08 Javascript
js/jquery判断浏览器的方法小结
Sep 02 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
Aug 24 Javascript
Vue实现百度下拉提示搜索功能
Jun 21 Javascript
Vue props用法详解(小结)
Jul 03 Javascript
CKEditor4配置与开发详细中文说明文档
Oct 08 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
Apr 17 Javascript
javascript开发实现贪吃蛇游戏
Jul 31 Javascript
基于javascript实现移动端轮播图效果
Dec 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者的疑难问答(2)
2006/10/09 PHP
利用PHP实现短域名互转
2013/07/05 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
2015/03/10 PHP
php利用事务处理转账问题
2015/04/22 PHP
PHP动态生成指定大小随机图片的方法
2016/03/25 PHP
php利用header函数下载各种文件
2016/08/24 PHP
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
Python yield使用方法示例
2013/12/04 Python
零基础写python爬虫之爬虫框架Scrapy安装配置
2014/11/06 Python
Python基础学习之常见的内建函数整理
2017/09/06 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
python制作mysql数据迁移脚本
2019/01/01 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
extern是什么意思
2016/03/10 面试题
计算机本科生自荐信
2013/10/15 职场文书
纪念建党演讲稿范文
2014/01/13 职场文书
消防器材管理制度
2014/01/28 职场文书
离婚协议书怎么写
2014/09/12 职场文书
2014年销售工作总结
2014/12/01 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
解决WINDOWS电脑开机后桌面没有任何图标
2022/04/09 数码科技