react 函数组件自定义swiper的navigation ,pagination

只需安装 yarn add swiper 即可
主要是实现如下箭头自定义, 直接代码,
在这里插入图片描述

引入

import { Swiper, SwiperSlide } from 'swiper/react';
import SwiperCore, { Navigation, Pagination } from 'swiper';

使用

 return (
  <Swiper
    className='swiper'
    spaceBetween={0}
    navigation={{
      nextEl: '.swiper-button-next',
      prevEl: '.swiper-button-prev',
      disabledClass: 'disable' // 当导航按钮变为不可用时添加的class,也就是当swiper索引为0时上一张没有prevEl的class类名就会添加一个disable,也就是.swiper-button-prev .disable
    }}
    pagination={{ 
      bulletClass: 'swiper-pagination-bullet zlz',
      bulletActiveClass: 'swiper-pagination-bullet-active zlz-active',
      clickable: true,
     }}
    // direction='vertical'
    mousewheel={true}
    slidesPerView={1}
    onSlideChange={() => {
      // changeStep(current.swiper.activeIndex, 'swiper')
    }}
    onSwiper={(swiper) => {
      current.swiper = swiper
    }}
  >
    <SwiperSlide className='progress-item'>
      <GJ/> // 图片
    </SwiperSlide>
    <SwiperSlide className='progress-item'>
      <TJ/> // 图片
    </SwiperSlide>
    <SwiperSlide className='progress-item'>
      <Child/> // 图片
    </SwiperSlide>
    <div className="swiper-button-prev">上一个</div>
    <div className="swiper-button-next">下一个</div>
  </Swiper>
 )

css

 .swiper{
   height: 100%;
   flex: 1;
   .progress-item{
     width: 100%;
     height: 100%;
     .pic,.img{
       width: 100%;
       height: 100%;
     }
   }
   .white{
     color: #fff;
   }
   .zlz{
     width: 10px;
     height: 4px;
     border-radius: 0;
     &.swiper-pagination-bullet{
       background: rgba(255,255,255,.8);
     }
     &.swiper-pagination-bullet-active{
       background: rgba(255,255,255,1);
     }
   }
   .swiper-button-prev,.swiper-button-next{
     position: absolute;
     top: 50%;
     width: 50px;
     height: 50px;
     background: red;
     &::after{
       display: none;
     }
     &.disable{
       background: royalblue;
     }
   }
 }

我是使用的nextjs

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值