用Swiper实现轮播图

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Andone_hsx/article/details/85046461

任务描述

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

效果如下:

相关知识

为了完成本关任务,你需要掌握:1.swiper基本的HTMl结构,2.基本功能的实现。

搭建swiper环境

1.下载插件

进入swiper官网 http://www.swiper.com.cn/download/index.html,只需要下载swiper-4.2.2.min.jsswiper-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. <!-- 如果需要导航按钮 (左右按钮)-->
  11. <div class="swiper-button-prev"></div>
  12. <div class="swiper-button-next"></div>
  13.  
  14. </div>

注:

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

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

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

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

5.初始化Swiper:最好是挨着标签

 
  1. <script>
  2. var mySwiper = new Swiper ('.swiper-container', {
  3. direction: 'vertical',
  4. loop: true,
  5. autoplay: 3000,
  6. speed: 1000,
  7. // 如果需要分页器
  8. pagination: {
  9. el: '.swiper-pagination',
  10. },
  11.  
  12. // 如果需要前进后退按钮
  13. navigation: {
  14. nextEl: '.swiper-button-next',
  15. prevEl: '.swiper-button-prev',
  16. },
  17.  
  18. // 如果需要滚动条
  19. scrollbar: {
  20. el: '.swiper-scrollbar',
  21. },
  22. })
  23. </script>
  24. </body>

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

  • direction: 'horizontal',表示水平滑动,垂直滑动是 direction: vertical。默认是水平滑动;

  • loop: true,表示最后一张图片会和第一张图片连起来播放,就像循环播放一样; loop: false,表示最后一张图片是终点;

  • autoplay: 3000, 表示自动切换的时间间隔,3000表示3秒;

  • speed: 1000, 表示滑动从开始到结束的时间,1000表示1秒;

编程要求

在右侧编辑器中,补全BeginEnd中间的部分,按照提示完成代码:

  • 补全swiper最大的容器类;

  • 补全swiper图片的容器类;

  • 开启loop模式,设置图片为循环播放;

  • 设置自动切换的时间为1.5秒。

效果如下:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title>少儿教育</title>
		<link rel="stylesheet" href="step2/swiper.min.css" />
		<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>
	</head>

	<body>
        <!--------  Begin  --------->
	    <!-- swiper最大的容器类-->
		<div class="swiper-container">
            
            <!-- 图片容器类-->
		    <div class="swiper-wrapper">
                
        <!---------  End  ---------->

				<div class="swiper-slide">
					<img src="https://www.educoder.net/attachments/download/198516" alt="轮播图1" />
				</div>
				<div class="swiper-slide">
					<img src="https://www.educoder.net/attachments/download/198517" alt="轮播图2" />
				</div>
			</div>

			<div class="swiper-pagination"></div>

			
			<div class="swiper-button-prev swiper-button-white"></div>
			<div class="swiper-button-next swiper-button-white"></div>
		</div>
		<script src="step2/swiper.min.js"></script>
		<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>
	</body>

</html>

猜你喜欢

转载自blog.csdn.net/Andone_hsx/article/details/85046461