<!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. 错误: 找不到或无法加载主类 org.sang.BlogserverApplication

    错误: 找不到或无法加载主类 org.sang.BlogserverApplication

  2. Javascript面试题解析

    Javascript的一些面试题让很多同学感到头疼,下面就根据兄弟连教育 )毕业学员面试遇到的面试题,给大家做一个简单的分享,希望对初入职场的你们有一些帮助:Javascript面试题解析. 第一题 ...

  3. luogu 4004 Hello world! 分块 + 并查集 + 乱搞

    其实呢,我也不理解这道题咋做,等以后有时间再研究研究 #include <bits/stdc++.h> #define ll long long #define maxn 100002 u ...

  4. Java——类

    [类]  

  5. 一本通&&洛谷 ——靶型数独——题解

    题目传送 主要是搜索顺序不同导致效率千差万别. 联想人做数独的策略,总是先填可填数最少的那个空,再填选择第二少的...其实这种策略就造就了一个深度浅时分支也较少的搜索树.合适的搜索顺序再配合剪枝==A ...

  6. CSS3动画@keyframes图片变大变小颜色变化

    在我做公司官网的时候也会帮着写一些游戏的静态页,今天产品要求为了突出一个按钮,他要有颜色的变化而且要变大变小,然后我就在网上搜了下呼吸灯和其他的案例,写了个小damo,看着还有些魔性嘞. html: ...

  7. Eclipse中jar包的导出与导入

    JAR的含义: JAR是Java的档案文件,是Java Archive File的缩写.jar文件是一种压缩文件,就是以特定类型压缩包的形式存在的完整Java项目.通常通过导入jar包的方式来使用实现 ...

  8. 小程序中css3实现优惠券

    效果如下: css3实现优惠券 知识储备 颜色渐变 linear-gradient() css伪类 :before :after index.wxss .app { /* padding: 20rpx ...

  9. kali的网络IP设置

    进入配置文件,配置IP leafpad /etc/network/interfaces.conf 写入如下格式的内容: /etc/network/interfaces # This file desc ...

  10. GNU Makefile手札

    通配符 $@ 目标集合 $< 第一个依赖文件 $^ 所有依赖文件 $? 执行结果 % 表示任意长度的字符 $$$$ 随机数 @<command> 执行时不输出该命令到控制台 变量赋值 ...