我正在努力改进touchwipe js。我想要只进行水平滚动,如果它的任何垂直滚动出现,让浏览器处理我的修复工作正常ios5但在ios6它的frezee任何想法吗?
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个问题,即水平滚动动画工作正常,但触摸页面垂直滚动不起作用。
所以我试图通过return true修复问题;如果它只有Y移动,在touchwipe js。这个修复工作在android4和ios5上工作正常,但在ios6中失败,如果我垂直滚动我的页面积极地(移动手指在椭圆形/圆形4-5秒)其freez bxslider动画。
进一步调试内部bxslider.gotoNextSlide() - >调用Jquery $ parent.animate()方法进行滑动,在积极滚动后停止在ios6中工作。
现在我陷入困境,无法理解为什么这个animate()会停止工作?
EG>>>
答案 0 :(得分:2)
这可能是由于这个错误: http://bugs.jquery.com/ticket/12620
这里的临时解决方案: https://gist.github.com/3798925