请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

手势翻页功能

为什么要额外添加onMaskCLick点击事件呢,不可以直接使用原来的initGesture呢?在定义了onMaskCLick之后,翻页手势就不生效了,这是为什么?

正在回答 回答被采纳积分+3

1回答

Sam 2019-07-31 21:47:45

hi,这个问题挺好,涉及技术选型,这里原因主要是:epubjs对手势事件支持不够好,无法支持touchmove事件,导致我们无法实现手势下拉加载书签功能,所以只能通过mask实现,而mask使用点击翻页的主要原因是要将手势事件留给书签功能,如果要兼容也可以实现,只是实现逻辑比较复杂,而且实际操作感受也不是特别好,毕竟h5的手势与native差距较大

0 回复 有任何疑惑可以回复我~
  • 提问者 whis_per #1
    那么在mask的点击事件中,可以加入判断条件来实现吗?
    if((offsetX > 0 && offsetX < width * 0.3)||(time < 500 && offsetX > 40)){this.prevPage()} 这样会不会两种方式都可以翻页?
    还是手势只能用touchmove来完成?
    回复 有任何疑惑可以回复我~ 2019-07-31 22:18:41
  • Sam 回复 提问者 whis_per #2
    可以用你的思路来实现翻页,但是会和书签下拉手势有冲突(因为你左右滑动时通常不是水平的,也会在垂直方向上移动,这时就会触发书签下拉事件,导致两个事件被同时触发),这个算法调教过程比较复杂
    回复 有任何疑惑可以回复我~ 2019-07-31 23:48:13
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信