swiper autoheight选项卡嵌套出现空白问题
来源:互联网 发布:sql联合主键 编辑:程序博客网 时间:2024/06/06 03:23
swiper的autoheight设置可以用来解决tab切换时内容高度不一致而出现的空白问题。今天做项目时,出现了另外的问题,所以整理记录下。
我的问题是这样的:用swiper3.1制作了一个tab选项卡(就叫swiper选项卡吧,设置了autoheight),里面又嵌套了一个jq写的一般选项卡(叫jq选项卡),jq选项卡内容高度也是不一致的。如果jq选项卡一开始显示的是高内容的,那么切换到低内容时,就会出现空白问题;而如果一开始显示的是低内容的,切换到高内容时,就会有内容被隐藏的问题。
如下:
可以看到在jq选项卡切换到低内容时出现了空白和滚动条,代码如下:
<!DOCTYPE html><html><head><meta charset="UTF-8"><meta name = "viewport" content = "width = device-width, initial-scale = 1.0, maximum-scale = 1.0, user-scalable = 0" /><title></title><link rel="stylesheet" href="Content/Style/swiper-3.3.1.min.css" /><style>*{margin: 0; padding: 0; box-sizing: border-box;}a{text-decoration: none;}.clearfix:after{visibility:hidden; display: block; font-size: 0; content: ''; clear: both; height: 0;}.clearfix{*zoom: 1;}.main-box{max-width: 640px; margin: 0 auto;}.tab1 a,.tab2 a{float: left; width: 33.333%; height: 40px; line-height: 40px; background: #222; font-size: 18px; color: #fff; text-align: center;}.tab1 a.active{background: #FF0000;}.content,.jq-content{background: #007971; height: 800px; font-size: 43px; color: #fff;}.jq-content{background: #333; height: 600px; }.tab2 a{width: 50%; background: #ccc;}.tab2 a.active{background: orange;}.display{display: none;}</style></head><body><div class="main-box"><div class="tab1 clearfix"><a href="javascript:;" class="active">选项一</a><a href="javascript:;">选项二</a><a href="javascript:;">选项三</a></div><div class="swiper-container swiper-tab"> <div class="swiper-wrapper"> <div class="swiper-slide"><div class="content">swiper content 高800px</div></div> <div class="swiper-slide"><div class="content" style="height: 1200px; background: #007AFF;">swiper content 高1200px</div></div> <div class="swiper-slide"> <div class="tab2 clearfix"> <a href="javascript:;" class="active">jqTab1</a> <a href="javascript:;">jqTab2</a> </div> <div class="jq-content">jq Content 高600px</div> <div class="jq-content display" style="height: 400px; background: green;">jq Content 高400px</div> </div> </div></div></div><script type="text/javascript" src="Script/jquery-1.8.2.min.js" ></script><script type="text/javascript" src="Script/swiper-3.3.1.min.js" ></script><script>$(function(){//swiper tab切换var tabSwiper = $('.swiper-tab').swiper({autoHeight: true, //高度随内容变化onSlideChangeStart: function(swiper){$('.tab1 a.active').removeClass('active');$('.tab1 a').eq(swiper.activeIndex).addClass('active'); //alert(swiper.activeIndex); }});$('.tab1 a').click(function(){var index = $(this).index();$('.tab1 a.active').removeClass('active');$(this).addClass('active');tabSwiper.slideTo(index,1000,false);});var lastIndex = 0;//jq tab切换$('.tab2').on('click', "a", function() { var index = $(this).index(); //alert(index) $('.tab2 a.active').removeClass('active'); $(this).addClass('active'); $('.jq-content').eq(lastIndex).addClass('display'); $('.jq-content').eq(index).removeClass('display'); lastIndex = index; })});</script></body></html>
出现这种情况的主要原因是:切换到嵌套tab时,此时的autoheight已经设置完了,以jq选项卡的高内容来显示,所以当jq选项卡切换到低内容时就会出现空白。原因找到了,当即联想能不能在jq选项卡切换的时候都重新设置autoheight呢?所以我直接在jq选项卡那边加上了tabSwiper.slideTo(2,1000,false),这句的意思是当jq选项卡切换时我都重新进入下当前页,这样就能重新设置autoheight了,果然可以了。
主要代码:
$('.tab2').on('click', "a", function() { var index = $(this).index(); //alert(index) $('.tab2 a.active').removeClass('active'); $(this).addClass('active'); $('.jq-content').eq(lastIndex).addClass('display'); $('.jq-content').eq(index).removeClass('display'); lastIndex = index; tabSwiper.slideTo(2,1000,false);//重新进入下当前页,只要加这句就可以解决了 })
效果:
目前的解决办法是这样,如果你有更好的办法,欢迎评论交流哈。
阅读全文
0 0
- swiper autoheight选项卡嵌套出现空白问题
- ScrollView嵌套WebView出现底部空白问题
- fragment 嵌套Fragment,出现空白的问题
- ScrollView和WebView 嵌套,底部出现大块空白的问题
- ScrollView嵌套webvView出现空白
- android 异常问题 Scrollview中嵌套webview出现大面积空白(第二次打开同一个地址下面才出现空白)
- div嵌套p后,出现空白行
- scrollview嵌套webView的底部出现空白和缩放冲突问题处理
- 微信小程序之顶部选项卡(swiper)
- 使用swiper 出现闪屏问题
- swiper中加了autoheight后swiper-wrapper的高度显示不正确的解决方法
- 嵌套表格的空白问题的图片
- Fragment嵌套Fragment+ViewPager空白问题
- 解决网页出现空白问题
- 浮动出现空白的问题
- swiper 多层嵌套
- 使用getChildFragmentManager解决Fragment嵌套ViewPager出现空白
- 在Fragment嵌套Fragment使用中,出现第二次使用空白
- Coursera-Deep Learning Specialization 课程之(二):Improving Deep Neural Networks: -weak2编程作业
- Window10驱动简单示例(一)--文件打开读取
- Python 之旅.00
- 目标检测之LibPaBOD(a LIBrary for PArt-Based Object Detection in C++)
- javaBean简介和使用
- swiper autoheight选项卡嵌套出现空白问题
- learning R with swirl- Matrices and Data Frames(矩阵和数据帧)
- Java线程
- opencv生成点阵汉字图
- GO语言学习二(基础)
- Kubernetes高阶——设计和实现
- 投资容器云技术能赚到钱吗?
- AcGiGeometry::text 自画实体输出文字实例
- 程序、算法和数据结构的关系