1.对应的xml里写上手势开始、滑动、结束的监听:
<view class="touch" bindtouchstart="touchStart" bindtouchmove="touchMove" bindtouchend="touchEnd" ></view>
2.Js:
var touchDot = 0;//触摸时的原点var time = 0;// 时间记录,用于滑动时且时间小于1s则执行左右滑动var interval = "";// 记录/清理时间记录Page({data: {...}})
Page({data: {...},// 触摸开始事件touchStart: function (e) {touchDot = e.touches[0].pageX; // 获取触摸时的原点// 使用js计时器记录时间 interval = setInterval(function () {time++;}, 100);},// 触摸移动事件touchMove: function (e) {var touchMove = e.touches[0].pageX;console.log("touchMove:" + touchMove + " touchDot:" + touchDot + " diff:" + (touchMove - touchDot));// 向左滑动 if (touchMove - touchDot <= -40 && time < 10) {wx.switchTab({url: '../左滑页面/左滑页面'}); }// 向右滑动if (touchMove - touchDot >= 40 && time < 10) {console.log('向右滑动');wx.switchTab({url: '../右滑页面/右滑页面'}); }},// 触摸结束事件touchEnd: function (e) {clearInterval(interval); // 清除setIntervaltime = 0;},...})