微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 水平滑动手势和垂直页面滚动

我正在建立一个移动网站,我有一个图像的幻灯片放映,允许水平滑动图像.我正在使用的javascript库是bxslider.但是,如果有人触摸幻灯片并想要向上/向下滚动页面,则幻灯片放映会阻止垂直滚动,因此必须触摸该网站的另一部分.

有人可以告诉我如何启用垂直滚动(即,不允许幻灯片阻止正常滚动?)

谢谢!

最佳答案
试试这个,将bxslider库中的onTouchMove fn更改为

        var onTouchMove = function (e) {
        if (slider.settings.mode != 'fade') {
            var orig = e.originalEvent;
            var value = 0;
            // if horizontal,drag along x axis
            if (slider.settings.mode == 'horizontal')
            {   
                var hchange = orig.changedtouches[0].pageX - slider.touch.start.x;
                var vchange = orig.changedtouches[0].pageY - slider.touch.start.y;

                if(Math.abs(hchange)>20 && Math.abs(hchange)>Math.abs(vchange))
                {   
                    value = slider.touch.originalPos.left + hchange;
                    setPositionProperty(value,'reset',0);
                    e.preventDefault();
                }
                // if vertical,drag along y axis
            } else{
                e.preventDefault();
                var change = orig.changedtouches[0].pageY - slider.touch.start.y;
                value = slider.touch.originalPos.top + change;
                setPositionProperty(value,0);
            }

        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐