微信小程序实现手势滑动效果


Posted in Javascript onAugust 26, 2019

本文实例为大家分享了微信小程序实现手势滑动的具体代码,供大家参考,具体内容如下

wxml:

<view 
bindtouchstart="touchStart" 
bindtouchmove="touchMove" 
bindtouchend="touchEnd" >
</view>

index.js:

var touchStartX = 0;//触摸时的原点 
var touchStartY = 0;//触摸时的原点 
var time = 0;// 时间记录,用于滑动时且时间小于1s则执行左右滑动 
var interval = "";// 记录/清理时间记录 
var touchMoveX = 0; // x轴方向移动的距离
var touchMoveY = 0; // y轴方向移动的距离

Page({

// 触摸开始事件 
 touchStart: function (e) {
 touchStartX = e.touches[0].pageX; // 获取触摸时的原点 
 touchStartY = e.touches[0].pageY; // 获取触摸时的原点 
 // 使用js计时器记录时间 
 interval = setInterval(function () {
  time++;
 }, 100);
 },
 // 触摸移动事件 
 touchMove: function (e) {
 touchMoveX = e.touches[0].pageX;
 touchMoveY = e.touches[0].pageY;
 },
 // 触摸结束事件 
 touchEnd: function (e) {
 var moveX = touchMoveX - touchStartX
 var moveY = touchMoveY - touchStartY
 if (Math.sign(moveX) == -1) {
  moveX = moveX * -1
 }
 if (Math.sign(moveY) == -1) {
  moveY = moveY * -1
 }
 if (moveX <= moveY) {// 上下
  // 向上滑动
  if (touchMoveY - touchStartY <= -30 && time < 10) {
  console.log("向上滑动")
  }
  // 向下滑动 
  if (touchMoveY - touchStartY >= 30 && time < 10) {
  console.log('向下滑动 ');
  }
 }else {// 左右
  // 向左滑动
  if (touchMoveX - touchStartX <= -30 && time < 10) {
  console.log("左滑页面")
  }
  // 向右滑动 
  if (touchMoveX - touchStartX >= 30 && time < 10) {
  console.log('向右滑动');
  }
 }
 clearInterval(interval); // 清除setInterval 
 time = 0;
 }, 
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS拖动技术 关于setCapture使用
Dec 09 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
Aug 02 Javascript
JS键盘版计算器的制作方法
Dec 03 Javascript
bootstrap IE8 兼容性处理
Mar 22 Javascript
JS库之wow.js使用方法
Sep 14 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
Oct 27 Javascript
用p5.js制作烟花特效的示例代码
Mar 21 Javascript
Webpack中publicPath路径问题详解
May 03 Javascript
JavaScript笛卡尔积超简单实现算法示例
Jul 30 Javascript
详解关于vue2.0工程发布上线操作步骤
Sep 27 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
Nov 02 Javascript
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
详解nuxt 微信公众号支付遇到的问题与解决
Aug 26 #Javascript
Vue路由之JWT身份认证的实现方法
Aug 26 #Javascript
Vue中跨域及打包部署到nginx跨域设置方法
Aug 26 #Javascript
js实现跟随鼠标移动的小球
Aug 26 #Javascript
vue 源码解析之虚拟Dom-render
Aug 26 #Javascript
Node.js爬虫如何获取天气和每日问候详解
Aug 26 #Javascript
vue移动端实现手机左右滑动入场动画
Jun 17 #Javascript
You might like
晋城吧对DiscuzX进行的前端优化要点
2010/09/05 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
php实现的Curl封装类Curl.class.php用法实例分析
2015/09/25 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
页面中iframe相互传值传参
2009/12/13 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
JS实现div内部的文字或图片自动循环滚动代码
2013/04/19 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
vue中的自定义分页插件组件的示例
2018/08/18 Javascript
vue父子模板传值问题解决方法案例分析
2020/02/26 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
详解Python中的分支和循环结构
2020/02/11 Python
python实现三壶谜题的示例详解
2020/11/02 Python
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
部队万能检讨书
2014/02/20 职场文书
防灾减灾活动总结
2014/08/30 职场文书
员工教育培训协议书
2014/09/27 职场文书
2015年入党决心书
2015/02/05 职场文书
2015教师年度工作总结范文
2015/04/07 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android
Django框架中表单的用法
2022/06/10 Python
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers