be-fe / iSlider

Smooth mobile touch slider for Mobile WebApp, HTML5 App, Hybrid App
http://be-fe.github.io/iSlider/
MIT License
1.66k stars 448 forks source link

屏幕拉动时的BUG #130

Closed JamFeng closed 9 years ago

JamFeng commented 9 years ago

楼主好,我这边发现一个BUG,就是上下拉动的时候,有时候会叠一下,没拉完全。比如第一页拉第二页的时候,第一页与第二页会有个重叠区域,图片会卡住部分。 http://www.comicool.cn/mob-index.html

xieyu33333 commented 9 years ago

初步判断是上下拉动的时候touchstart没有禁用默认事件,你可以尝试在样式上加上overflow: hidden,或者在touchstart的时候加上evt.preventDefault(), 目前新的版本已在纵向滑动时禁用默认事件。

JamFeng commented 9 years ago

已使用最新库,已解决滑动图片卡住的问题。谢主隆恩~ 不过出现了另一个问题,在onslidechange 函数里,写的内容貌似不能执行 例:http://ismanhua.com:8000/mob-index.html 点击下载 木有反应 例:http://www.comicool.cn/mob-index.html 点击下载可以执行

xieyu33333 commented 9 years ago

感谢反馈,onslidechange函数是执行的,因为touchstart事件的callback中加了evt.preventDefault(),阻断了click事件,你可以先尝试使用之前版本,禁用掉body的滚动条看看行不行。

xieyu33333 commented 9 years ago

如果使用现有版本,可以采用islider.bind('tap','#btn-down', function(){alert("a")})进行事件绑定,注意这里不能用click,要用tap。 注意这句不要放在onslidechange里,直接执行即可。否则会重复绑定事件,onslidechange是每次跳页都会触发的,对按钮绑定事件不需要使用onslidechange。

JamFeng commented 9 years ago

谢主隆恩。偶试试~