我正在尝试改进 touchwipe js。我只想处理水平滚动,如果出现任何垂直滚动,让浏览器处理我的修复在 ios5 中工作正常,但在 ios6 中它得到冻结任何想法?
http://archive.plugins.jquery.com/project/Touchwipe-iPhone-iPad-wipe-gesture
请在下面找到代码
function onTouchMove(e) {
//var e = (e.changedTouches != undefined)? touches[0] : e;
if(isMoving) {
var x = e.touches[0].pageX;
var dx = startX - x;
if(Math.abs(dx) >= config.min_move_x)
{
if(config.preventDefaultEvents) {
e.preventDefault();
}
cancelTouch();
if(dx > 0) {
config.wipeLeft();
}
else {
config.wipeRight();
}
return false;
}
else {
console.log('y moving.. ');
// attachTouch();
return true;
}
}
}
只是添加更多细节。我正在尝试通过 BXslider 为我的列表设置水平动画,并且它的工作正常希望支持触摸事件,因此添加了触摸擦除 jquery 。但是添加它会给出 1 个问题,即水平滚动动画可以正常工作,但触摸页面垂直滚动不能正常工作。
所以我试图通过返回 true 来解决问题;如果它唯一的 Y 移动,在 touchwipe js。此修复程序在 android4 和 ios5 上运行良好,但在 ios6 中失败,如果我稍微激进地垂直滚动页面(在椭圆/圆形中移动手指 4-5 秒)其冻结 bxslider 动画。
进一步调试在 bxslider.gotoNextSlide()-> 调用 Jquery $parent.animate() 方法进行滑动,在积极滚动后停止在 ios6 中工作。
现在我卡住了,无法理解为什么这个 animate() 停止工作?
EG >>>