demo h5 touch 移动_html5 touch事件实现触屏页面上下滑动

这篇文章主要为大家详细介绍了html5 touch事件实现触屏页面上下滑动的相关代码,代码注释很清楚,感兴趣的小伙伴们可以参考一下

最近做的做那个app的项目由于用overflow:hidden导致了很多问题,于是决定研究下html5的touch事件。想找个全面点的帖子很难,虽然好多关于html5 touch的文章但大多都是介绍touch事件或者很简短的小demo。

比较全面的上下滑动的小demo,代码比较简单。

下面是完整代码,我把几个重要的地方做了红色标记

2014-4-29

* {margin: 0; padding: 0;}

#outer{ width:90%; height: 490px; background: #000; margin: auto; overflow: hidden;}

#inner{width:80%; height: 2000px; background: #f67d42; margin: auto; position:relative; top:0; }

123
123
gag
af
123
123
123
123
123
123
123
123
123
123
123
yryyr
ryry
123
123
123
123
123
sdff
fef
123
hr
hrh
5y
123
er
ert
123
rgdgdg
123
123
123
123
123
123
gfgfgfgfgfgf
sdsdsdsdsdsd
sf
123
123
123
123
123
123
123
123
gdggdgdg
123
drgdrgd
123
123
123
yuyuyuyuyuy
hjkhjkhkhkhjkhkh
kjkjk
123
123
gag
af
123
123
123
123
123
123
123
123
123
123
123
yryyr
ryry
123
123
123
123
123
sdff
fef
123
hr
hrh
5y
123
er
ert
123
rgdgdg
123
123
123
123
123
123
gfgfgfgfgfgf
sdsdsdsdsdsd
sf
123
123
123
123
123
123
123
123
gdggdgdg
123
drgdrgd
123
123
123
yuyuyuyuyuy
hjkhjkhkhkhjkhkh
kjkjk

var startX,//触摸时的坐标

startY,

x, //滑动的距离

y,

aboveY=0; //设一个全局变量记录上一次内部块滑动的位置

var inner=document.getElementById("inner");

function touchSatrt(e){//触摸

e.preventDefault();

var touch=e.touches[0];

startY = touch.pageY; //刚触摸时的坐标

}

function touchMove(e){//滑动

e.preventDefault();

var touch = e.touches[0];

y = touch.pageY - startY;//滑动的距离

//inner.style.webkitTransform = 'translate(' + 0+ 'px, ' + y + 'px)'; //也可以用css3的方式

inner.style.top=aboveY+y+"px"; //这一句中的aboveY是inner上次滑动后的位置

}

function touchEnd(e){//手指离开屏幕

e.preventDefault();

aboveY=parseInt(inner.style.top);//touch结束后记录内部滑块滑动的位置 在全局变量中体现 一定要用parseInt()将其转化为整数字;

}//

document.getElementById("outer").addEventListener('touchstart', touchSatrt,false);

document.getElementById("outer").addEventListener('touchmove', touchMove,false);

document.getElementById("outer").addEventListener('touchend', touchEnd,false);

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值