我正在构建一个移动网站,并且我有一个幻灯片放映图像,允许水平滑动图像。我使用的JavaScript库是bxslider。但是,如果用户触摸幻灯片并希望向上/向下滚动页面,则幻灯片会阻止垂直滚动,因此必须触摸该站点的另一部分。水平滑动手势和垂直页面滚动
可能有人请告诉我,我怎么可能保持启用垂直滚动(即,不允许幻灯片阻断正常滚动?)
谢谢!
我正在构建一个移动网站,并且我有一个幻灯片放映图像,允许水平滑动图像。我使用的JavaScript库是bxslider。但是,如果用户触摸幻灯片并希望向上/向下滚动页面,则幻灯片会阻止垂直滚动,因此必须触摸该站点的另一部分。水平滑动手势和垂直页面滚动
可能有人请告诉我,我怎么可能保持启用垂直滚动(即,不允许幻灯片阻断正常滚动?)
谢谢!
试试这个,更改bxslider
库FN的onTouchMove
这个
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, 'reset', 0);
}
}
}
如果您转到这个选项页的bxslider网站,搜索preventDefaultSwipeX和preventDefaultSwipeY
这些都是你是什么寻找。
有人已经打开了一个关于此问题的问题(https://github.com/wandoledzep/bxslider-4/issues/82)。在那里跟进进展可能是最好的。 – Mottie