-1

我正在尝试改进 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 >>>

http://jsfiddle.net/qtCHx/

4

1 回答 1

2

这可能是由于这个错误: http ://bugs.jquery.com/ticket/12620

这里的临时解决方案: https ://gist.github.com/3798925

于 2012-11-28T00:51:40.767 回答