Swiper 内容超出纵向滚动(兼容Android)
Swiper.js内容超出纵向滚动。兼容Android(因为在Android端高度可能会出现小数点),代码如下:
.swiper-slide {
overflow: auto;
}
var swiper = new Swiper('.swiper-container', {
direction: 'vertical',autoHeight:true
});
var startScroll, touchStart, touchCurrent;
swiper.slides.on('touchstart', function (e) {
startScroll = Math.floor(this.scrollTop); // 针对android获取到小数进行向下取整
touchStart = e.targetTouches[0].pageY;
}, true);
swiper.slides.on('touchmove', function (e) {
touchCurrent = e.targetTouches[0].pageY;
var touchesDiff = touchCurrent - touchStart;
var slide = this;
var onlyScrolling =
( slide.scrollHeight > slide.offsetHeight ) && //allow only when slide is scrollable
(
( touchesDiff < 0 && startScroll === 0 ) || //start from top edge to scroll bottom
( touchesDiff > 0 && startScroll === ( slide.scrollHeight - slide.offsetHeight ) ) || //start from bottom edge to scroll top
( startScroll > 0 && startScroll < ( slide.scrollHeight - slide.offsetHeight ) ) //start from the middle
);
if (onlyScrolling) {
e.stopPropagation();
}
}, true);
优化我之前博客中的代码:https://www.cnblogs.com/vendy/p/5610138.html