前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >swiper使用技巧(一)

swiper使用技巧(一)

作者头像
fastmock
发布2022-07-13 17:30:58
1.2K0
发布2022-07-13 17:30:58
举报
文章被收录于专栏:fastmockfastmock

Swiper是一个非常好用的轮播插件,满足各种各样的使用条件和环境,响应式,多列,多行,等等,但是,很多时候还是会有一些条件下Swiper提供的API并不能直接帮我们解决问题,但是都可以通过变通的方式处理。今天要分享的就是关于swiper的左右切换按钮,分页导航的显示或者隐藏的问题。

有些时候,我们的需求是这样的,1,当swiper没有多页的时候,左右按钮不出现,2,多于一页的时候,左右按钮出现,但是不能向前或者向后时,左右按钮会有不能点击的状态

swiper在初始化的时候会为不能点击的左右按钮加上‘swiper-button-disabled’这个class,我们可以用css为这个class添加相应的样式,如果要隐藏,可以直接隐藏掉,但是这样做的话,当左右按钮只有一个是disabled状态时,就会出现一边有一边没有的情况。解决这个问题的方法是,我们在swiper初始化后获得swiper对象,然后获取swiper.isBeginning和swiper.isEnd属性,然后判断如果这两个属性同时为true那就表示,swiper在同一时间,既不能向前slide也不能向后slide了,那就说明没有超过一页,然后我们就可以执行我们想执行的逻辑了。

当然,如果你的swiper不是根据屏幕大小调整显示的数量的响应式的,那就不用这个麻烦,直接判断slide的个数就行了,

需要注意的是,这种方法判断时,一定要在浏览器窗口大小改变时,手动触发swiper的update事件,然后再获取isBeginning和isEnd属性,这样获取到的才会是swiper响应式地调整了数量之后的结果。

代码语言:javascript
复制
gridSwiper.update();
let $gridSwiperCheck = this.$('.swiper-container-horizontal .home-todo-check');
if (gridSwiper.isBeginning === gridSwiper.isEnd) {
   $gridSwiperCheck.hide();
} else {
   $gridSwiperCheck.show();
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档