微信小程序实现左右滑动

1、index.wxml文件:

<view class="swiper-content {{currentTab==0 ? 'content-active' : ''}}" bindtouchstart="touchStart" bindtouchend="touchEnd">
  <image src='../../images/index/caption.jpg'></image>
</view>

2、js文件

var time = 0;
var touchDot = 0;//触摸时的原点
var interval = "";

 

/**
* 触摸开始事件
*/
touchStart:function(e){
  touchDot = e.touches[0].pageX; // 获取触摸时的原点
  // 使用js计时器记录时间
  interval = setInterval(function () {
  time++;
  }, 100);
  console.log("touchStart")
},
touchEnd:function(e){
  console.log("touchEnd")
  var that = this;
  var touchMove = e.changedTouches[0].pageX;
  var moveIndex = e.currentTarget.dataset.tab;
  // 向左滑动
  if (touchMove - touchDot <= -40 && time < 10) {
    //执行切换页面的方法
    console.log("向左滑动");

    if (moveIndex == 0 || moveIndex == 1) {
      moveIndex++;
    } else if (moveIndex == 2) {
      moveIndex
    }
    console.log("e.target.dataset.current===" + e.currentTarget.dataset.tab)
    this.setData({
      currentTab: moveIndex
    })
  }
  // 向右滑动
  if (touchMove - touchDot >= 40 && time < 10) {
    if (moveIndex == 0 || moveIndex == 1) {
      moveIndex = 0;
    } else if (moveIndex == 2) {
      moveIndex = 1;
    }
    //执行切换页面的方法
    console.log("向右滑动");
    this.setData({
      currentTab: moveIndex
    })
  }
  clearInterval(interval); // 清除setInterval
  time = 0;
}

posted @ 2018-06-01 10:56  十月芬芳  阅读(4016)  评论(0编辑  收藏  举报