//禁用手机默认的触屏滚动行为
document.addEventListener('touchmove', function(event) {
event.preventDefault()
}, false)
//touchstart事件
function touchSatrtFunc(evt) {
try {
//evt.preventDefault() //阻止触摸时浏览器的缩放、滚动条滚动等
var touch = evt.touches[0] //获取第一个触点
var x = Number(touch.pageX) //页面触点X坐标
var y = Number(touch.pageY) //页面触点Y坐标
//记录触点初始位置
startX = x
startY = y
} catch (e) {
alert('touchSatrtFunc:' + e.message)
}
}
//touchmove事件,这个事件无法获取坐标
function touchMoveFunc(evt) {
try {
//evt.preventDefault() //阻止触摸时浏览器的缩放、滚动条滚动等
var touch = evt.touches[0] //获取第一个触点
var x = Number(touch.pageX) //页面触点X坐标
var y = Number(touch.pageY) //页面触点Y坐标
//document.getElementById("version").innerHTML = "原:"+startY+" "+"现:"+y
//判断滑动方向
if (y - startY > 100) {
swipeDown()
} else if(y - startY < -100){
swipeUp()
}
} catch (e) {
alert('touchMoveFunc:' + e.message)
}
}
//touchend事件
function touchEndFunc(evt) {
try {
//evt.preventDefault() //阻止触摸时浏览器的缩放、滚动条滚动等
} catch (e) {
alert('touchEndFunc:' + e.message)
}
}
//绑定事件
function bindEvent() {
document.addEventListener('touchstart', touchSatrtFunc, false)
document.addEventListener('touchmove', touchMoveFunc, false)
document.addEventListener('touchend', touchEndFunc, false)
}
//判断是否支持触摸事件
function isTouchDevice() {
//document.getElementById("version").innerHTML = navigator.appVersion
try {
document.createEvent("TouchEvent")
//alert("支持TouchEvent事件!")
bindEvent() //绑定事件
} catch (e) {
alert("不支持TouchEvent事件!" + e.message)
}
}
调用方法如下:touchs._left(object)//往左滑动
touchs._right(object)//往右滑动
touchs._top(object)//往上滑动
touchs._bottom(object)//往下滑动
说明:object的取值可以是一个id("#id")表达式,或者是一个样式表达式(".class"),或者标签的属性表达式("div[id=id]")等,只要可以用jqurey通过这个表达式获取到dom对象,这个表达式怎么写都可以。