经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
两种轮播图实现方式
来源:cnblogs  作者:展翅肥羊  时间:2021/2/18 14:59:56  对本文有异议

  最近做了一个网站,首页轮播图一直没有达到理想的效果,在网上找了两个实现方法,一个是用css自己实现,一个是用swiper插件,个人认为swiper做的还比较好用。这里只贴出主要的实现代码,想要看具体实现代码及效果可以到对应网址上看:

一、css实现轮播图

原文网址:https://www.jianshu.com/p/550c11f3b731

实现逻辑:

1)将所有的轮播图片放在一个容器里面,并排排列;

2)编写css动画事件:每隔一定时间向左偏移一定距离,距离为一个轮播图宽度;到最后一个轮播图后切换到第一个图片,实现无限循环

优点:

实现逻辑简单,可以直接拿来用

缺点:

轮播图数量固定,如果要增删,需要修改代码;不是一个顺序的无限循环,到达最后一个轮播图后,会有一个快速倒退的动画,效果不是太好

主要实现代码:

  1. /*//自动播放*/
  2. .slide .slide-auto {
  3. animation: marginLeft 10.5s infinite;
  4. }
  1. @keyframes marginLeft {
  2. 0% {
  3. margin-left: 0;
  4. }
  5. 28.5% {
  6. margin-left: 0;
  7. }
  8. 33.3% {
  9. margin-left: -600px;
  10. }
  11. 62% {
  12. margin-left: -600px;
  13. }
  14. 66.7% {
  15. margin-left: -1200px;
  16. }
  17. 95.2% {
  18. margin-left: -1200px;
  19. }
  20. 100% {
  21. margin-left: 0;
  22. }
  23. }

二、swiper插件实现方式

文档网址:https://www.swiper.com.cn/usage/index.html

实现方法:

1)下载插件文件:swiper-bundle.min.js和swiper-bundle.min.css,下载地址:https://www.swiper.com.cn/download/index.html#file1,下载文件后解压,在\swiper-master\package目录下有这两个文件;

2)引入插件文件:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. ...
  5. <link rel="stylesheet" href="dist/css/swiper-bundle.min.css">
  6. </head>
  7. <body>
  8. ...
  9. <script src="dist/js/swiper-bundle.min.js"></script>
  10. ...
  11. </body>
  12. </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. <!-- 如果需要滚动条 -->
  13. <div class="swiper-scrollbar"></div>
  14. </div>

4)JS编写代码启动轮播图效果

  1. var mySwiper = new Swiper ('.swiper-container', {
  2. direction: 'vertical', // 垂直切换选项
  3. loop: true, // 循环模式选项
  4. // 如果需要分页器
  5. pagination: {
  6. el: '.swiper-pagination',
  7. },
  8. // 如果需要前进后退按钮
  9. navigation: {
  10. nextEl: '.swiper-button-next',
  11. prevEl: '.swiper-button-prev',
  12. },
  13. // 如果需要滚动条
  14. scrollbar: {
  15. el: '.swiper-scrollbar',
  16. },
  17. })

优点:

对轮播图数量没有限制,增删轮播图不需要修改代码;

功能可配置,自由增删轮播功能,api文档地址:https://www.swiper.com.cn/api/index.html

可以外部控制轮播图,详细可见api文档中的Methods(Swiper方法)

提供import引入方式,可应用在vue和react中。

缺点:

有学习成本,不过不高

原文链接:http://www.cnblogs.com/flysheet/p/swiper.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号