js判断触摸事件上下左右哪个方向

var _bindTouSta = function(e) {
		console.log(this)
		clearInterval(this.setInter)
		this.touchTime = new Date().getTime()
		this.tPage = {
			sx: e.targetTouches[0].pageX,
			sy: e.targetTouches[0].pageY,
			ex: e.targetTouches[0].pageX,
			ey: e.targetTouches[0].pageY
		}
		this.isScrool = 0
	}
	var _bindTouMov = function(e) {
		this.tPage.sx = e.targetTouches[0].pageX
		this.tPage.sy = e.targetTouches[0].pageY
		if (e.targetTouches.length > 1 || e.scale && e.scale !== 1)
			return;
	}
	var _bindTouEn = function(e) {
		var x = this.tPage.sx - this.tPage.ex
		var y = this.tPage.sy - this.tPage.ey
		var durTime = (new Date).getTime() - this.touchTime
		this.isScrool = Math.abs(x) > Math.abs(y) ? 1 : 0
		if (Math.abs(x) > Math.abs(y) && x > 0) {
			console.log('left to right')
		} else if (Math.abs(x) > Math.abs(y) && x < 0) {
			console.log('right to left')
		} else if (Math.abs(y) > Math.abs(x) && y > 0) {
			console.log('top to bottom')
		} else if (Math.abs(y) > Math.abs(x) && y < 0) {
			console.log('bottom to top')
		} else {
			if (durTime > 300) {
				console.log('changan')
			} else {
				console.log('click')
			}
		}
		
	}
	var _bindFun = function() {
		this.elementJieDian.addEventListener('touchstart', _bindTouSta.bind(this), false)
		this.elementJieDian.addEventListener('touchmove', _bindTouMov.bind(this), false)
		this.elementJieDian.addEventListener('touchend', _bindTouEn.bind(this), false)
	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值