老徐WEB:swiper插件实现图片滚动轮播图(三)

深藏阁楼爱情的钟 2023-07-09 03:24 22阅读 0赞

老徐看到网上有用swiper来实现轮播图的,就研究了下。发现swiper挺简单的,事例介绍清晰,文档容易理解,就试着做了一个网站常用的轮播图。swiper官网提供了很多事例,有简单实用的,也有很炫的,根据自己的需要选择相应的样式。

如果对轮播图原理和制作过程不熟悉的,可以看看老徐之前的相关轮播图的两篇文章,【最简单详细的轮播图原理和制作过程】和【JS简单实现图片滚动效果轮播图,自动和手动】。

用swiper实现的轮播图效果如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3V2eW9hYQ_size_16_color_FFFFFF_t_70

下面详细介绍下swiper轮播图制作过程。

首先引入swiper官方的CSS和JS文件,可以去官方网站下载。

  1. <link rel="stylesheet" href="./css/swiper.min.css" >
  2. <script src="./js/swiper.min.js"></script>

然后搭建HTML结构。代码不多,容易理解,只是结构和类名不能更改。左右按钮和分页在此示例里都已经添加了,满足工作中常用需求。

  1. <div class="swiper-container" id="box">
  2. <div class="swiper-wrapper">
  3. <div class="swiper-slide"><img src="./images/1.jpg" /></div>
  4. <div class="swiper-slide"><img src="./images/2.jpg" /></div>
  5. <div class="swiper-slide"><img src="./images/3.jpg" /></div>
  6. <div class="swiper-slide"><img src="./images/4.jpg" /></div>
  7. <div class="swiper-slide"><img src="./images/5.jpg" /></div>
  8. </div>
  9. <!-- 导航按钮 -->
  10. <div class="swiper-button-next"></div>
  11. <div class="swiper-button-prev"></div>
  12. <!-- 分页 -->
  13. <div class="swiper-pagination"></div>
  14. </div>

然后CSS样式。

  1. <style>
  2. body, div, img {
  3. margin:0;
  4. padding:0;
  5. }
  6. html, body {
  7. position:relative;
  8. height:100%;
  9. }
  10. body {
  11. background-color:#eee;
  12. font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  13. font-size:14px;
  14. color:#000;
  15. }
  16. .swiper-container {
  17. margin-top:50px;
  18. width:500px;
  19. height:500px;
  20. }
  21. .swiper-slide {
  22. background-color:#fff;
  23. font-size:18px;
  24. text-align:center;
  25. /* Center slide text vertically */
  26. display: -webkit-box;
  27. display: -ms-flexbox;
  28. display: -webkit-flex;
  29. display: flex;
  30. -webkit-box-pack: center;
  31. -ms-flex-pack: center;
  32. -webkit-justify-content: center;
  33. justify-content: center;
  34. -webkit-box-align: center;
  35. -ms-flex-align: center;
  36. -webkit-align-items: center;
  37. align-items: center;
  38. }
  39. .swiper-slide img {
  40. width:100%;
  41. height:100%;
  42. cursor:pointer;
  43. }
  44. /* 分页按钮样式 */
  45. .swiper-pagination-bullet {
  46. width: 20px;
  47. height: 20px;
  48. text-align: center;
  49. line-height: 20px;
  50. font-size: 12px;
  51. color:#000;
  52. opacity: 1;
  53. background: rgba(0,0,0,0.2);
  54. }
  55. /* 分页当前按钮样式 */
  56. .swiper-pagination-bullet-active {
  57. color:#fff;
  58. background: #007aff;
  59. }
  60. </style>

最后就是JS部分。先是初始化swiper实例,主要是轮播图的相关设置,比如自动循环播放、滑动速度、是否需要左右按钮等。这个事例做了鼠标触及播放区域时,播放会暂停,离开播放区域时,会自动开启播放的功能。

  1. <script>
  2. var mySwiper = new Swiper('.swiper-container',{
  3. autoplay:true, // 自动播放
  4. speed:1000, // 自动滑动开始到结束的时间(ms)
  5. loop:true, // 无限循环
  6. allowTouchMove:true, // 滑动,false不滑动
  7. navigation:{ // 左右按钮
  8. nextEl:'.swiper-button-next',
  9. prevEl:'.swiper-button-prev',
  10. },
  11. pagination:{ // 分页
  12. el:'.swiper-pagination',
  13. clickable:true, // 分页按钮是否可点击
  14. renderBullet:function(index,className){ // 渲染分页按钮,同时增加CSS样式
  15. return '<span class="' + className + '">' + (index + 1) + '</span>';
  16. },
  17. },
  18. on:{
  19. click:function(){;},// 单击slide时触发函数
  20. touchStart:function(event){;},
  21. },
  22. });
  23. var box = document.getElementById('box');
  24. box.onmouseover = function(){
  25. mySwiper.autoplay.stop();
  26. }
  27. box.onmouseout = function(){
  28. mySwiper.autoplay.start();
  29. }
  30. </script>

最后,swiper应用很简单,多看事例和文档,就能写出自己需要的轮播图。swiper应用也很强大,满足不同层次的需求。

勤学苦练,笨鸟先飞。
关注【老徐WEB前端开发教程】,回复:轮播图 ,即有完整代码和素材分享。

发表评论

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

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

相关阅读