详解swiper轮播图的各种坑以及调用ajax实现轮播效果

详解swiper轮播图的各种坑以及调用ajax实现轮播效果Swiper 常用于移动端网站的内容触摸滑动 对于前端开发人员来说使用 swiper 可以提高工作效率 不再需要写太多的代码 轻轻松松的实现想要的效果 工作中最常用的就是轮播图了 下面我来说说如何写一个简单的轮播图 1 首先需要下载一个 swiper css 文件和一个 swiper js 文件 到时候直接在页面中引入就行了 https www swiper com cn nbsp 在 swiper 官网去下载

Swiper常用于移动端网站的内容触摸滑动,对于前端开发人员来说使用swiper可以提高工作效率,不再需要写太多的代码,轻轻松松的实现想要的效果,工作中最常用的就是轮播图了,下面我来说说如何写一个简单的轮播图:

1、首先需要下载一个swiper.css文件和一个swiper.js文件,到时候直接在页面中引入就行了(https://www.swiper.com.cn/ 在swiper官网去下载)。

2、下面我写一个简单的案例:

 
  
slider1
slider2
slider3

这样的话就可以实现一个简单的轮播图了,注意:必须要用.swiper-container包裹住.swiper-wrapper 在swiper-slide中写上你想放置的内容,图片也行。js中初始化一个new Swiper();这个对象中可以放autoplay、loop等参数。具体的根据你得需求添加。

3、我重点讲一下swiper轮播图中遇到的几个坑:

(1)、如何自定义分页器的样式:

    paginationType: ‘custom’, //这里分页器类型必须设置为custom,即采用用户自定义配置,写在new Swiper()中。

详解swiper轮播图的各种坑以及调用ajax实现轮播效果如图这是我自定义的一个分页器

具体代码如下:

html代码:

//这个里面放置你得分页器。

 
  

js代码:

var mySwiper = new Swiper('.swiper-container', { autoplay: 5000, //可选选项,自动滑动 loop: true, pagination: '.swiper-pagination', autoplayDisableOnInteraction : false,//手动滑动后可以自动滑动 paginationType: 'custom', //这里分页器类型必须设置为custom,即采用用户自定义配置 paginationCustomRender: function(swiper, current, total) { var customPaginationHtml = ""; for(var i = 0; i < total; i++) { //判断哪个分页器此刻应该被激活 if(i == (current - 1)) { customPaginationHtml += ''; } else { customPaginationHtml += ''; } } return customPaginationHtml; } });

css代码:(看我的注释

/*包裹自定义分页器的div的位置等CSS样式*/ .swiper-pagination-custom { bottom: 10px; left: 0; width: 100%; } /*自定义分页器的样式*/ .swiper-pagination-customs { width: 12px; height: 2px; display: inline-block; background: #000; opacity: .3; margin: 0 5px; } /*自定义分页器激活时的样式表现*/ .swiper-pagination-customs-active { opacity: 1; background-color: #e63737; }

这样就完成了一个自定义分页器。

(2)解决swiper轮播图手动滑动之后就不自动滑动的问题:

原因在于swiper轮播图默认在手动滑动之后就关闭自动滑动,即autoplay参数关闭了,这个时候轮播图就显得不那么完美了,还好swiper中给我们提供了这个参数   autoplayDisableOnInteraction 说明:当设置为false时,用户操作之后(swipes,arrow以及pagination 点击)autoplay不会被禁掉,用户操作之后每次都会重新启动autoplay。所以我们需要加上:

autoplayDisableOnInteraction : false,//手动滑动后可以自动滑动,这样就完美了。

(3)设置轮播图播放的时间:

  autoplay: 5000,//每个轮播图的播放时间为5秒

4、下面我把swiper调用ajax的完整代码写一下,大家可以参考:

效果图:

详解swiper轮播图的各种坑以及调用ajax实现轮播效果

html代码:

 
   
  

css代码:

/*-----------轮播图-------------*/ .swiper-container { clear: both; width: 100%; /*height: 370px;*/ min-height: 100px; position: relative; top: 0; } .swiper-slide { /*margin-top: 67px;*/ } .swiper-slide img { width: 100%; /*margin-top: 67px;*/ } /*包裹自定义分页器的div的位置等CSS样式*/ .swiper-pagination-custom { bottom: 10px; left: 0; width: 100%; } /*自定义分页器的样式*/ .swiper-pagination-customs { width: 12px; height: 2px; display: inline-block; background: #000; opacity: .3; margin: 0 5px; } /*自定义分页器激活时的样式表现*/ .swiper-pagination-customs-active { opacity: 1; background-color: #e63737; }

 

js代码:

//----------------banner图轮播------------- $.ajax({ type: "post", dataType: 'json', url:这里写接口地址 data: { "ss": getCookie('openid') }, success: function(data) { console.log(data) if(data.code == 1) { //请求成功 var con = data.result.banner; // var len = con.length; console.log(len + "我是轮播图的数量"); var sort = con.sort; //排序 //---------------循环图片(轮播图)----- $.each(con, function(k, v) { var src = con[k].img_url; //图片地址 var imgId = con[k].id; //图片id var sort = con[k].sort; //排序 var imgurl = con[k].url; //商品id console.log(imgurl); var t = " 
  "; $('.swiper-wrapper').append(t) }); }; if(len <= 1) { console.log("不能滑动"); //swiper插件实现轮播图 var mySwiper = new Swiper('.swiper-container', { //autoplay: false, //可选选项,自动滑动 loop: false, pagination: '.swiper-pagination', paginationType: 'custom', //这里分页器类型必须设置为custom,即采用用户自定义配置 paginationCustomRender: function(swiper, current, total) { var customPaginationHtml = ""; for(var i = 0; i < total; i++) { //判断哪个分页器此刻应该被激活 if(i == (current - 1)) { customPaginationHtml += ''; } else { customPaginationHtml += ''; } } return customPaginationHtml; } }); } else { console.log("可以滑动"); //swiper插件实现轮播图 var mySwiper = new Swiper('.swiper-container', { autoplay: 5000, //可选选项,自动滑动 loop: true, pagination: '.swiper-pagination', autoplayDisableOnInteraction : false,//手动滑动后可以自动滑动 paginationType: 'custom', //这里分页器类型必须设置为custom,即采用用户自定义配置 paginationCustomRender: function(swiper, current, total) { var customPaginationHtml = ""; for(var i = 0; i < total; i++) { //判断哪个分页器此刻应该被激活 if(i == (current - 1)) { customPaginationHtml += ''; } else { customPaginationHtml += ''; } } return customPaginationHtml; } }); } } });

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202768.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:20
下一篇 2026年3月19日 下午11:21


相关推荐

  • C++学习之路——函数重载和运算符重载

    C++学习之路——函数重载和运算符重载一、函数重载C++允许在同一作用域中的某个函数和运算符指定多个定义,分 别称为函数重载和运算符重载重载声明是指一个与之前已经在该作用域内声明过的函数或方法 具有相同名称的声明,但是它们的参数列表和实现不相同。当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。C++中的函数重…

    2022年8月18日
    7
  • idea 正则表达式替换「建议收藏」

    idea 正则表达式替换「建议收藏」例如,现在有一个函数getView(o,’m’,’orderNum’,’s’),这个函数的调用有很多地方,有一天我们想给这个函数加一个默认参数,让它变成getView(o,’m’,’orderNum’,’s’,’*’),一个一个加太麻烦了,我们就用idea自带的正则表达式替换功能来实现。首先按Ctrl+R,打开替换对话框,然后在上面输入getView\((.+)\),下面输…

    2022年5月17日
    320
  • fpga的spi的编程_UASP协议

    fpga的spi的编程_UASP协议什么是SPI协议?如何用FPGA实现?

    2022年10月16日
    6
  • QString中QStringList用法

    QString中QStringList用法转载自:新浪博客:http://blog.sina.com.cn/s/blog_6675e5f50100syot.htmlQStringList类常用方法QT 2010-09-0611:47:16 阅读470 评论0   字号:大中小 订阅QStringList类提供了一个字符串列表从QList继承而来,它提供快速索引为基础的接入以及快速

    2022年6月5日
    61
  • webstorm2021.11激活码(注册激活)

    (webstorm2021.11激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    188
  • Redis命令参考手册 – Key

    Redis命令参考手册 – KeyRedis 命令参考手册 Key

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号