vue图片手指缩放
touchstart (event) {
// this.touchelength = event.touches.length
// event.preventDefault() // 默认事件 长按复制
// if (event.touches.length > 1) {
// this.isDoubleTouch = true
// this.windowWidth = this.isDoubleTouch
// this.startTouches = event.touches
// // this.windowWidth = event.touches.length
// } else {
// this.startX = event.changedTouches[0].pageX
// this.startY = event.changedTouches[0].pageY
// }
},
touchmove (event) {
if (this.isDoubleTouch) {
// const now = event.touches
// const start = this.startTouches
// const st = this.getDistance(now[0], now[1])
// const sy = this.getDistance(start[0], start[1])
// if (this.scale > 3) {
// this.scale = 3
// return
// }
// if (this.scale < 1) {
// this.scale = 1
// return
// }
// this.scale = this.getDistance(now[0], now[1]) / this.getDistance(start[0], start[1]) // 缩放比例
// this.windowWidth = this.scale
}
getDistance (p1, p2) {
if (this.scale >= 1 <= 3) {
var x = p2.pageX - p1.pageX
var y = p2.pageY - p1.pageY
return Math.sqrt((x * x) + (y * y))
}
},
touchend (event) {
const moveEndX = event.changedTouches[0].pageX
const moveEndY = event.changedTouches[0].pageY
const X = moveEndX - this.startX
const Y = moveEndY - this.startY
if (this.scale > 1) {
return
}
if (Math.abs(X) > Math.abs(Y) && X > 100) {
this.upPrev()
} else if (Math.abs(X) > Math.abs(Y) && X < -100) {
this.nextQuiz()
}
},