iscroll.js在ios上竖直滑动时触发横向滚动

移动端采用iscroll.js实现div盒子横屏滑动,配置参数横屏滚动的时候禁止竖直滑动;

iscroll.js在ios上竖直滑动时触发横向滚动_第1张图片
1.jpg

在安卓上手指刚好点在surprise盒子上竖直滑动的同时左右滑动时不会生效的,但是在ios上一样操作,会影响盒子滑动,这样就会把iscroll保存的#surprise>ul(插件自动生成)的left值给改变,此时再左右滑动时会出现布局错误。

开始 自己监听屏幕滚动行为,只要一滚动就调用iscroll里面的方法 myscroll.disable(),然后再屏幕滚动里面有个定时器每一秒查一次,现在的屏幕位置与上一次位置是否一样,一样说明没有滚动了,此时调用myscroll.enable()重新让myscroll可以滚动。

但是还是不行,最后我生气了。初始化让#surprise就不能滚动,进去就调用myscroll.disable(); 在ios手机上进去(TMD)还是可以左右滑动,这时开始怀疑是不是自己样式有问题,一点点实验,最后发现了。我给#surprise设置了overflow:scroll; 让它自动滚动,有个原生的默认行为。好了,知道原因了,去掉就行了。

iscroll.js在ios上竖直滑动时触发横向滚动_第2张图片
2.jpg

ok,终于好了。

你可能感兴趣的:(iscroll.js在ios上竖直滑动时触发横向滚动)