Swiper内容超出添加横向/纵向滚动
2017-07-26 11:22
411 查看
在使用Swiper做移动端内容切换时,有些swiper-slide节点中的内容超出节点的宽度或高度,想要在swiper-slide节点中添加滚动条,当滚动条滚动到节点的顶部/左侧时切换上一个swiper-slide节点,当滚动条滚动到节点的底部/右侧时切换下一个swiper-slide节点,要肿么实现嘞?
首先要设置swiper-slide的overflow属性
1、swiper内容超出添加纵向滚动条
2、swiper内容超出添加横向滚动条
首先要设置swiper-slide的overflow属性
.swiper-slide { overflow: auto; -webkit-overflow-scrolling: touch; }
1、swiper内容超出添加纵向滚动条
var swiper = new Swiper('.swiper-container', { direction: 'vertical', autoHeight: true }); var startScroll, touchStart, touchCurrent; swiper.slides.on('touchstart', function (e) { startScroll = this.scrollTop; 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);
2、swiper内容超出添加横向滚动条
var swiper = new Swiper('.swiper-container', { slidesPerView: 'auto' }); var startScroll, touchStart, touchCurrent; swiper.slides.on('touchstart', function (e) { startScroll = this.scrollLeft; touchStart = e.targetTouches[0].pageX; }, true); swiper.slides.on('touchmove', function (e) { touchCurrent = e.targetTouches[0].pageX; var touchesDiff = touchCurrent - touchStart; var slide = this; var onlyScrolling = ( slide.scrollWidth > slide.offsetWidth ) && //allow only when slide is scrollable ( ( touchesDiff < 0 && startScroll === 0 ) || //start from left edge to scroll right ( touchesDiff > 0 && startScroll === ( slide.scrollWidth - slide.offsetWidth ) ) || //start from right edge to scroll left ( startScroll > 0 && startScroll < ( slide.scrollWidth - slide.offsetWidth ) ) //start from the middle ); if (onlyScrolling) { e.stopPropagation(); } }, true);
相关文章推荐
- swiper 内容超出纵向滚动 解决办法
- 小程序 - swiper除了左右切换还有上下滚动超出屏幕的内容
- 小程序 - swiper除了左右切换还有上下滚动超出屏幕的内容
- 使用idangerous.swiper.min.js和iscroll5.js实现横向滚动tab,并响应内容
- jQuery自定义风格各异的横向或纵向内容滚动条效果
- 固定表头,单元格td宽度自适应,多内容出现-横向纵向滚动条数据表格的<前世今生>
- swiper插件 纵向内容超出一屏解决办法
- 实现当UILable的内容超出其范围后自动滚动效果
- 纵向滚动内容(自停顿)
- 横向滑动动态添加framrnt并解析内容
- UITextView内容添加后,自动滚动到最后一行
- 文字如果超出了自动 向左 横向 滚动
- ASPX 控件添加横向和纵向自动扩展滚动条
- 给你的list控件添加横向的滚动条
- Panel 横向滚动,纵向自动扩展
- android中当内容超出一页,滚动条滚动到某一个位置的另一个思路
- 让超出容器高度的内容滚动显示但不出现滚动条
- iframe的滚动条问题 ,去掉横向滚动条和纵向滚动条
- 源码推荐:保存app内容到手机桌面,类AppStore横向滚动
- html动态添加需要显示的内容/文字过多,超出部分以省略号显示,鼠标移入时全部显示