<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>swiper和tab相结合</title>
<link href="http://files.cnblogs.com/files/heyiming/swiper3.3.1.min.css" rel="stylesheet" type="text/css">
<script src="files/heyiming/jquery-1.8.0.min.js"></script>
<script src="files.cnblogs.com/files/heyiming/swiper3.3.1.min.js"></script>
<body>
<style type="text/css">
#swiper-tab .swiper-slide{
line-height:2 !important;
color:#666 !important;
font-size:14px !important;
background:#eee !important;
}
#swiper-tab .active-nav{
background:red !important;
}
/*tabs文字居中*/
#swiper-tab{
text-align: center;
}
/*给con部分加上一个背景色*/
#swiper-con{
background: yellow;
height:300px;
}
</style> <!--swiper-tab区域-->
<div class="swiper-container swiper-container-horizontal" id="swiper-tab" style="width:480px;">
<div class="swiper-wrapper" style="transition-duration: 0ms; transform: translate3d(-800px, 0px, 0px);">
<div class="swiper-slide" style="width: 160px;">版块1</div>
<div class="swiper-slide" style="width: 160px;">版块2</div>
<div class="swiper-slide" style="width: 160px;">版块3</div>
<div class="swiper-slide" style="width: 160px;">版块4</div>
<div class="swiper-slide swiper-slide-prev" style="width: 160px;">版块5</div>
<div class="swiper-slide swiper-slide-visible swiper-slide-active" style="width: 160px;">版块6</div>
<div class="swiper-slide swiper-slide-visible swiper-slide-next" style="width: 160px;">版块7</div>
<div class="swiper-slide active-nav swiper-slide-visible" style="width: 160px;">版块8</div>
</div>
</div>
<!--swiper-tab区域--> <!--swiper-con区域-->
<div class="swiper-container swiper-container-horizontal" id="swiper-con" style="width:480px;">
<div class="swiper-wrapper" style="transform: translate3d(-3360px, 0px, 0px); transition-duration: 0ms;">
<div class="swiper-slide blue-slide" style="width: 480px;">slider1</div>
<div class="swiper-slide red-slide" style="width: 480px;">slider2</div>
<div class="swiper-slide orange-slide" style="width: 480px;">slider3</div>
<div class="swiper-slide blue-slide" style="width: 480px;">slider4</div>
<div class="swiper-slide red-slide" style="width: 480px;">slider5</div>
<div class="swiper-slide orange-slide" style="width: 480px;">slider6</div>
<div class="swiper-slide blue-slide swiper-slide-prev" style="width: 480px;">slider7</div>
<div class="swiper-slide red-slide swiper-slide-active" style="width: 480px;">slider8</div>
</div>
</div>
<!--swiper-con区域--> <script>
var mySwiper2 = new Swiper('#swiper-tab',{
watchSlidesProgress : true,//开启这个参数来计算每个slide的progress(进度) 对于slide的progress属性,活动的那个为0,其他的依次减1。例:如果一共有6个slide,活动的是第三个,
从第一个到第六个的progress属性分别是:2、1、0、-1、-2、-3。对于swiper的progress属性,活动的slide在最左(上)边时为0,活动的slide在最右(下)边时为1,其他情况平分。例:有6个slide,
当活动的是第三个时swiper的progress属性是0.4,当活动的是第五个时swiper的progress属性是0.8。swiper的progress其实就是wrapper的translate值的百分值,与activeIndex等属性不同,
progress是随着swiper的切换而不停的变化,而不是在某个时间点突变。
watchSlidesVisibility : true,//如果开启了watchSlidesVisibility,则会在每个可见slide增加一个classname,默认为'swiper-slide-visible'
slidesPerView : 3,//将tabs块儿平均分成几份 /*点击了上面的滑块时,下面的内容区也跟着变化 若去掉后,拖动下面上面可继续移动*/
onTap: function(){
mySwiper3.slideTo( mySwiper2.clickedIndex)
} })
var mySwiper3 = new Swiper('#swiper-con',{ onSlideChangeStart: function(){
updateNavPosition()
} }) function updateNavPosition(){
//默认哪一块是被选中的状态
$('#swiper-tab .active-nav').removeClass('active-nav')
var activeNav = $('#swiper-tab .swiper-slide').eq(mySwiper3.activeIndex).addClass('active-nav'); if (!activeNav.hasClass('swiper-slide-visible')) {
console.log(1);
if (activeNav.index()>mySwiper2.activeIndex) {
console.log(2);
var thumbsPerNav = Math.floor(mySwiper2.width/activeNav.width())-1
mySwiper2.slideTo(activeNav.index()-thumbsPerNav)
}
else {
console.log(3);
mySwiper2.slideTo(activeNav.index())
}
}
}
</script> <!--content--> </body>
</html>

效果图:

swiper和tab相结合的更多相关文章

  1. 关于swiper的tab(选项卡)中设置了autoHeight没有效果解决

    autoHeight属性使用看官网的示例:https://www.swiper.com.cn/api/parameters/294.html swiper的选项卡结构查看:https://www.sw ...

  2. vue-awesome-swiper ---移动端h5 swiper 和 tab 栏选项联动效果实现

    很久之前做小程序时有个类似每日优鲜里储值卡充值界面里的 卡轮播和价格tab栏联动效果,当时觉得新鲜做出来之后也没当回事.直到今天又遇到了一个类似的功能,所以想着总结经验. 实现效果如下图: 图解:点击 ...

  3. swiper仿tab栏切换

    转载  https://developers.weixin.qq.com/community/develop/article/doc/000040a5dc4518005d2842fdf51c13 小程 ...

  4. 解决微信小程序的wx-charts插件tab切换时的显示会出现位置移动问题-tab切换时,图表显示错乱-实现滑动tab

    解决Echarts在微信小程序tab切换时的显示会出现位置移动问题 tab切换时,图表显示错乱 <canvas class="kcanvas" canvas-id=" ...

  5. 小程序的tab标签实现效果

    swiper制作tab切换 index.html ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <view class="swiper-tab&qu ...

  6. 微信小程序实现滑动tab切换和点击tab切换并显示相应的数据(附源代码)

    这里主要用到了swiper组件和三目运算,直接上代码, 样式只有三个class,简单粗暴,懒的小伙伴们可以直接拿来用,喜欢的点个支持 <view> <view class=" ...

  7. 微信小程序踩坑集合

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...

  8. 微信小程序开发学习资料

    作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  9. 微信小程序tab(swiper)切换

    <- wxml -> <view class="youhui"> <view ' bindtap='toggle'> 未使用 </view ...

随机推荐

  1. linux运维、架构之路-Kubernetes集群部署

    一.kubernetes介绍        Kubernetes简称K8s,它是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部 ...

  2. css-按钮中有图片和文字,怎么才能让文字和图片都中??

    <div class="btn1 trans" > <img src="../../images/img/add.png"/> < ...

  3. 认识js数组

    1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数 ...

  4. 【bzoj3564】 [SHOI2014]信号增幅仪

    题目描述: 无线网络基站在理想状况下有效信号覆盖范围是个圆形.而无线基站的功耗与圆的半径的平方成正比. 现给出平面上若干网络用户的位置,请你选择一个合适的位置建设无线基站.... 就在你拿起键盘准备开 ...

  5. Android CPU使用率:top和dump cpuinfo的不同

    CPU是系统非常重要的资源,在Android中,查看CPU使用情况,可以使用top命令和dump cpuinfo.我记得很久以前,就发现这两者存在不同,初步猜测应该是算法上存在差异.最近需要采集应用C ...

  6. 前端每日实战:156# 视频演示如何用纯 CSS 创作一个飞机舷窗风格的 toggle 控件

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/jeaOrw 可交互视频 此视频是可 ...

  7. hibernate class cast exception from object to ...

    http://stackoverflow.com/questions/22548325/java-lang-classcastexception-cannot-be-cast-to-java-lang ...

  8. shouyexinlianjie

    http://7xj7xs.com1.z0.glb.clouddn.com/trail_1.mp4

  9. 标签button:点击button按钮时,出现了页面自动刷新的情况

    原html: <button class="btn btn-primary" id="btnSubmit" name="btnSubmit&qu ...

  10. SqlServer2012 File Table文件表

    SQL Server 2012 提供一种特殊的“文件表”,也称为“FileTable”. FileTable 是一种专用的用户表,它包含存储 FILESTREAM 数据的预定义架构以及文件和目录层次结 ...