yanhaijing / zepto.fullpage

Focusing on the fullPage.js for mobile terminals.
MIT License
2.1k stars 510 forks source link

page内部分内容切换 #80

Open wsDever opened 7 years ago

wsDever commented 7 years ago

功能需求: 是不是可以添加page内某一部分的切换。比如竖直切换page时,第3屏里有3个div,想水平切换,目前不支持。

发现问题: 比如竖直切换的时候,若手指是以矩形对角线方向滑动时,水平距离远远大于竖直距离(实际上相当于水平在移动手指,只是稍有偏移),这个时候应该是不响应的,也就是不应该切换,这种场景蛮常见的,是不是应该添加移动时水平和竖直移动距离判断。 我在使用的时候将源码稍做了修改,若切换方向竖直时,当水平距离大于竖直距离时直接返回;水平切换时,判断同理。望见谅。

yanhaijing commented 7 years ago

你好,感谢使用和反馈问题,下面一一解答:

功能需求: 这个系统没有支持,其一是为了简单,其二是我觉得这个你可以自己实现,在beforeChange函数返回false则可以取消本次滑动(前提是关闭drag,不然效果会很奇怪),你只需要简单几行就能够实现这个逻辑

发现问题: 这个确实是一个问题,上面的解决思路很好,但是忽略了一个问题,就是drag开启(跟随手势),你这种判断思路会很奇怪,跟随了很多,然后又会弹回来,而是应该在touchmove时就立刻判断出来是水平还是竖直,但个人感觉,比如你看经验步骤页就是这么做的 http://jingyan.baidu.com/album/ff411625ad416612e5823774.html?picindex=1&stepGroup=E1

附录: 另外可以提供使用zepto.fullpage的在线url,欢迎反馈在这里 #9

wsDever commented 7 years ago

你好,再反馈一个遇到的场景。 某一页在使用的时候,因为需要可能会删除,或者添加。 比如原来只有 6页,现在需要减一页,变成5页。 直接使用update,发现页码并没有变少,而导致在最后有一页空白。 源码上update里面没有更新pages。我修改了源码 在update函数第一行添加: this.$pages = this.$this.find(this.o.page).addClass('fullPage-page fullPage-dir-' + this.o.dir); this.pagesLength = this.$pages.length; 因为项目紧没时间多加测试,暂时不知道会不会引起其它问题,请谅解!

yanhaijing commented 7 years ago

你好,可以提个pr