<view bindtouchstart="handleTouchStartView" bindtouchmove="handleTouchMoveView" bindtouchend="handleTouchEndView"/>
handleTouchStartView(event) {
this.data.startX = event.touches[0].pageX;
this.data.startY = event.touches[0].pageY;
},
handleTouchMoveView(event) {
},
handleTouchEndView(event) {
this.data.endX = event.changedTouches[0].pageX;
this.data.endY = event.changedTouches[0].pageY;
this.calculateDirection();
},
calculateDirection() {
let { tabData, switchTabIndex, switchTabItem } = this.data
const startX = this.data.startX;
const startY = this.data.startY;
const endX = this.data.endX;
const endY = this.data.endY;
const deltaX = endX - startX;
const deltaY = endY - startY;
const absDeltaX = Math.abs(deltaX);
const absDeltaY = Math.abs(deltaY);
if (absDeltaX > absDeltaY) {
if (deltaX > 0) {
console.log('向右滑动');
if (tabData.length > 1) {
switchTabIndex--
if (switchTabIndex < 0) {
switchTabIndex = 0
}
}
} else {
console.log('向左滑动');
if (tabData.length > 1) {
switchTabIndex++
if (switchTabIndex > tabData.length - 1) {
switchTabIndex = tabData.length - 1
}
}
}
let item = tabData[switchTabIndex]
let tempTopHeadBgImg = this.getTopHeadBgImg(item.businessCode)
tabData.forEach((v, i) => {
v.isCheck = i == switchTabIndex ? true : false
})
this.setData({
switchTabIndex: switchTabIndex,
switchTabItem: item,
tabData,
topHeadBgImg: tempTopHeadBgImg
})
} else {
}
},