Javascript Touch事件学习笔记3 实现一个APP框架一 左右滑动切换面板

欢欢欢欢 发表于 2014-7-26 22:02

Demo入口:摸这里

前面大致研究了下touch事件的基本功能和用法,下面就学以致用,实现一些具体的应用试试。

接下来我打算实现一个类似网易新闻APP的一个Web框架,如下图。

网易新闻APP截图

主要实现一下这三个功能:

1:左右滑动实现左右切屏

2:向下滑动加载最新新闻,向上滑动加载随后新闻

3,:点击进入新闻内页

下面来实习功能一:

涉及到的相关技术点除了touch事件之外,还有就是css3的transition属性。

在开发过程中主要遇到了两个问题

1,移动终端上如果不想让浏览器可以放大缩小,在meta的viewport属性里面新增user-scalable=no即可。

2,如果不想让浏览器很想可以拖动,用body{overflow:hidden;}是不行的。要在body上禁用touchmove事件,并且在溢出的div上加一个最小高度(为什么要加一个最小高度我也不解),例如min-height:100%;。

源码见demo。

这种方法在安卓浏览器上是有效的,但是在UC浏览器上不知道为什么没办法禁用拖动,等以后有时间再研究研究。

原理:

当手指落下时(touchstart),在一个全局变量记录下当前的位置(通过方法CheckLeftStart),当手指拿起时(touchend或者touchcancel)用当前的位置和手指落下的时候的位置进行比较,根据所得来判断手指移动的方向,从来做出相应的动作。

 

Touch事件学习第一课:摸这里

Touch事件学习第二课:摸这里