用Swiper实现轮播图

系统管理员 2021-06-24 13:58 655阅读 0赞

用Swiper实现轮播图

  • 任务描述
  • 相关知识
    • 搭建Swiper环境
      • 代码文件

任务描述

本关任务:用Swiper实现一个轮播图。

相关知识

为了完成本关任务,你需要掌握:

  1. Swiper基本的HTML结构,
  2. 基本功能的实现。

搭建Swiper环境

1.下载插件

进入Swiper官网 http://www.swiper.com.cn/download/index.html,只需要下载swiper-4.2.2.min.js和swiper-4.2.2.min.css就可以了。

2.引入插件

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. ...
  5. <link rel="stylesheet" href="path/to/swiper.min.css">
  6. </head>
  7. <body>
  8. ...
  9. <script src="path/to/swiper.min.js"></script>
  10. </body>
  11. </html>

3.HTML结构

  1. <div class="swiper-container">
  2. <div class="swiper-wrapper">
  3. <div class="swiper-slide">Slide 1</div>
  4. <div class="swiper-slide">Slide 2</div>
  5. <div class="swiper-slide">Slide 3</div>
  6. </div>
  7. <!-- 如果需要分页器(下面的小点点) -->
  8. <div class="swiper-pagination"></div>
  9. <!-- 如果需要导航按钮 (左右按钮)-->
  10. <div class="swiper-button-prev"></div>
  11. <div class="swiper-button-next"></div>
  12. </div>

注:

这里的HTML结构是固定的,不可以随便更改;

这里的类是固定的,外面最大的容器类为swiper-container,放图片的容器类为swiper-wrapper,放图片的类为swiper-slide

4.你可能想要给Swiper定义一个大小,当然不要也行。

  1. .swiper-container {
  2. width: 600px;
  3. height: 300px;
  4. }

5.初始化Swiper:最好是挨着</body>标签

  1. <script> var mySwiper = new Swiper ('.swiper-container', { direction: 'vertical', loop: true, autoplay: 3000, speed: 1000, // 如果需要分页器 pagination: { el: '.swiper-pagination', }, // 如果需要前进后退按钮 navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, // 如果需要滚动条 scrollbar: { el: '.swiper-scrollbar', }, }) </script>
  2. </body>

这里简单的介绍一下基本的几个参数:

  1. direction: 'horizontal',表示水平滑动,垂直滑动是 direction: vertical。默认是水平滑动;
  2. loop: true,表示最后一张图片会和第一张图片连起来播放,就像循环播放一样; loop: false,表示最后一张图片是终点;
  3. autoplay: 3000, 表示自动切换的时间间隔,3000表示3秒;
  4. speed: 1000, 表示滑动从开始到结束的时间,1000表示1秒。

代码文件

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>少儿教育</title>
  6. <link rel="stylesheet" href="step2/swiper.min.css" />
  7. <style type="text/css"> * { margin: 0; padding: 0; } ul, li { list-style: none; } a { color: #888; text-decoration: none; font-size: 16px; } body { background: #fff; position: relative; } .swiper-container { width: 100%; height: 280px; margin-left: auto; margin-right: auto; overflow: hidden; } .swiper-slide { text-align: center; font-size: 18px; background: #fff; /* Center slide text vertically */ display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; } .swiper-slide img { width: 100%; height: 100%; } </style>
  8. </head>
  9. <body>
  10. <!-------- Begin --------->
  11. <!-- swiper最大的容器类-->
  12. <div class="swiper-container">
  13. <!-- 图片容器类-->
  14. <div class=" swiper-wrapper">
  15. <!--------- End ---------->
  16. <div class="swiper-slide">
  17. <img src="https://www.educoder.net/api/attachments/198516" alt="轮播图1" />
  18. </div>
  19. <div class="swiper-slide">
  20. <img src="https://www.educoder.net/api/attachments/198517" alt="轮播图2" />
  21. </div>
  22. </div>
  23. <div class="swiper-pagination"></div>
  24. <div class="swiper-button-prev swiper-button-white"></div>
  25. <div class="swiper-button-next swiper-button-white"></div>
  26. </div>
  27. <script src="step2/swiper.min.js"></script>
  28. <script type="text/javascript"> var swiper = new Swiper('.swiper-container', { direction: 'horizontal', //------------- Begin ------------ //开启loop模式,设置图片为循环播放 loop:true, //自动切换的时间为1.5秒 autoplay: 1500, //-------------- End ------------ speed: 1000, pagination: '.swiper-pagination', nextButton: '.swiper-button-next', prevButton: '.swiper-button-prev', autoplayDisableOnInteraction: false, }); </script>
  29. </body>
  30. </html>

发表评论

表情:
评论列表 (有 0 条评论,655人围观)

还没有评论,来说两句吧...

相关阅读