使用swiper.js创建嵌套的swiper
相信在项目中使用过swiper.js的同学会跟我一样,觉得这个软件真的很好用。首先API调用简单,其次就是他的官方文档写得非常之详细,非常容易上手。
自己在项目中使用swiper.js很长时间了,这里根据自己的一些经验和心得对swiper.js进行总结。
swiper.js官网
官网地址:https://www.swiper.com.cn/
官网快捷链接:Swiper4使用方法 、Swiper4的API文档
嵌套两个或多个siwper
根据官方文档,我们创建一个swiper是非常简单的,但是如何创建两个swiper,这对于一些新手小白来说可能比较迷茫。这里先给出代码,然后再进行解释。
示例代码
- 下载并引入swiper文件:
<link rel="stylesheet" href="swiper-4.3.3.min.css"> <script src="swiper-4.3.3.min.js"></script>
- HTML代码:
<!-- 定义父swiper --> <div class="swiper-container first-one"> <div class="swiper-wrapper"> <div class="swiper-slide">我是父亲swiper的第一个slide</div> <div class="swiper-slide">我是父亲swiper的第二个slide</div> <div class="swiper-slide">我是父亲swiper的第三个slide</div> <div class="swiper-slide"> <!-- 定义嵌套的子swipe --> <div class="swiper-container second-one"> <div class="swiper-wrapper"> <div class="swiper-slide">我是儿子swiper的第一个slide</div> <div class="swiper-slide">我是儿子swiper的第二个slide</div> <div class="swiper-slide">我是儿子swiper的第三个slide</div> <div class="swiper-slide">我是儿子swiper的第四个slide</div> </div> </div> </div> </div> </div>
- CSS代码:
*{ padding: 0; margin: 0; } .swiper-container{ width: 100vw; /*100vw的意思是宽度和浏览器窗口的宽度一样*/ height: 100vh; /*100vh的意思是宽度和浏览器窗口的高度一样*/ }
- JavaScript代码:
var first_swiper=new Swiper('.first-one',{ // 这里可以不写任何东西,swiper会按照默认参数进行初始化 }); var second_swiper=new Swiper('.second-one',{ // 这里可以不写任何东西,swiper会按照默认参数进行初始化 });
使用总结
- 其实创建嵌套swiper很简单,就是在一个已经创建好的swiper中,确定我们在哪一个slide中创建我们的第二个swiper。然后就按照我们创建第一个swiper的样子来书写HTML代码。
- HTMl代码书写好之后,我们就要使用JavaScript脚本来初始化我们的两个swiper。这个时候有的同学就会问,我如何来区分两个swiper呢?注意看我们的HTML代码中,我分别给两个swiper加了一个
class="fitst-one"
和class="second-one"
。这样我们就可以区分两个swiper,然后在JavaScript脚本中初始化swiper的时候,就是用这两个class
分别来初始化两个swiper。 - 这样,我们便可以成功创建两个嵌套的swiper。如果你要创建多个嵌套的swiper,也采用类似的方法,但是不建议嵌套过多的swiper,根据我的个人经验,可能会出现一些bug。
注意事项
- 仔细观察上面给出的HTML代码,我们是将子swiper嵌套在父swiper的最后一个slide中,这样在初始化swiper的时候,不进行额外的配置,也不会有什么问题。
- 但是如果我们将子swiper嵌套在父swiper的中间的slide中,这个时候我们只能看到子swiper的第一个slide。例如我们的HTML代码采用下面的写法:
<!-- 定义父swiper --> <div class="swiper-container first-one"> <div class="swiper-wrapper"> <div class="swiper-slide">我是父亲swiper的第一个slide</div> <div class="swiper-slide"> <!-- 定义嵌套的子swipe --> <div class="swiper-container second-one"> <div class="swiper-wrapper"> <div class="swiper-slide">我是儿子swiper的第一个slide</div> <div class="swiper-slide">我是儿子swiper的第二个slide</div> <div class="swiper-slide">我是儿子swiper的第三个slide</div> <div class="swiper-slide">我是儿子swiper的第四个slide</div> </div> </div> </div> <div class="swiper-slide">我是父亲swiper的第二个slide</div> <div class="swiper-slide">我是父亲swiper的第三个slide</div> </div> </div>
-
这个时候,我们在滑动slide的时候,分别会看到下面的文字:
- 我是父亲swiper的第一个slide
- 我是儿子swiper的第一个slide
- 我是父亲swiper的第二个slide
- 我是父亲swiper的第三个slide
这个时候是我们的初始化的问题,如果想看到子swiper全部的slide,那么需要在初始化子swiper的时候,额外配置一些选项,即设置
nested:true
。用于嵌套相同方向的swiper时,当切换到子swiper时停止父swiper的切换。
var first_swiper=new Swiper('.first-one',{ // 这里可以不写任何东西,swiper会按照默认参数进行初始化 }); var second_swiper=new Swiper('.second-one',{ nested:true });
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
2018前端工程师成长路线图
译者按: 上王者算什么?有本事刷一下你的前端技术! 原文:Modern Frontend Developer in 2018 译者:Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 过去5年,我一直作为一枚全栈工程师,经常会有小朋友问我应该学什么,于是我写了这篇博客,希望可以帮助大家。本文的所有图表都在我的GitHub仓库kamranahmedse/developer-roadmap。 下图是我给前端工程师制定的成长路线图(由Fundebug翻译),希望对大家有所帮助: 成为前端工程师,第一步应该是学习HTML/CSS/JavaScript,这是基础。 1. HTML HTML用于定义网页的结构。你的第一步是学习HTML的语法,学会如何把页面拆分为多个部分。 任务: 至少撸5个纯HTML页面,你可以实现任意网站的页面,比如GitHub的profile页面或者Twitter的登陆页面。纯HTML会有点丑,但是不用担心,专注于网页的结构。 2. CSS CSS,全称Cascading stylesheets,是用来美化HTML页面的。 学...
- 下一篇
Spring MVC请求处理过程源码简析
Spring MVC简介 Spring MVC是目前使用的比较广泛的一个MVC框架,通过Spring MVC可以很轻松地构建一个完整的Web应用程序。并且Spring MVC对其他的框架有很好的兼容性,比如可以通过集成MyBatis框架去更好地和数据库进行交互。一个Web应用最核心的功能就是对到来的请求进行响应,下面我们通过Spring MVC的源码来分析下Spring MVC具体是怎样去响应一个请求的。(Spring MVC的源码位于Spring-framework下面的Spring-webmvc中)。 请求处理流程 在使用Spring MVC框架的时候,我们一般会在web.xml中配置一个DispatcherServlet作为Spring MVC的入口去映射所有的请求。DispatcherServlet的继承关系如图2-1所示。 图
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- 2048小游戏-低调大师作品
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题