用的手写的原生 JS , touch 事件写的。想通过判断手势来做一些滑动,但是会有一些问题。比如手势是下滑的,但是代码结果是左右滑动(因为触摸中,上下滑动长度 < 左右滑动长度)。
做的功能是:左右滑动的时候侧边栏出来; 非左右滑动的时候,正常手机浏览器滚动 问题:手势向上滑动, 并且滑动比较快的时候,侧边栏会滑出来(正常逻辑是不会滑出来的) 想过的解决办法:监测手机浏览器是否是滚动状态, 但是没找到这个方法。
链接地址:http://penglongli.github.io/Test/
需要手机端预览
1
xiaocsl 2016-04-09 22:59:19 +08:00
问题没你想的那么难.只是单纯的代码逻辑有问题.
var distanceX = endX - startX; if(distanceX < 0) 这两行可以看出,你就做了非常简单的判断,一点 X 坐标有变动就执行. 这样,你不管怎么滑动,只要开始时的 X 坐标和结束时的 X 坐标有变化就触发了. 解决办法也不麻烦.完善一下,判断逻辑. 有两组 x,y 坐标就可以判断出角度.然后根据角度来判断执行什么代码即可. |
2
xiaocsl 2016-04-09 23:02:01 +08:00
另外..移动端就扔掉 jQuery 吧.
换成 Zepto.js 吧 |