js+ css实现图片轮播 图片翻页

本文通过实例代码展示了如何利用JavaScript和CSS在React中创建一个响应式的图片轮播组件,该组件能根据窗口大小自动调整每页显示的图片数量并更新分页指示器(Dots)。文章核心思路包括窗口大小检测和动态计算页数,提供了`index.js`和`style.scss`两个关键文件的代码片段。
摘要由CSDN通过智能技术生成

首先附上我的效果图:
1.当前窗口大小,一共7个卡片,每页可以容纳3个卡片,总页数(Dots)为3:

2.当窗口缩小时,根据情况显示当前容纳个数,并且下方的Dots个数也根据页数更改,此时每页有2个卡片,总页数为4:

       


然后,说说最核心的思想:

 


最后附上代码:

index.js文件

import React from 'react'
import { Paper, Button } from 'react-md'
import PropTypes from 'prop-types'

import './style.scss'

export default class DashboardPagination extends React.PureComponent {
  constructor (props) {
    super(props)
    this.container = React.createRef()
  }
  componentDidMount () {
    const bigContainer = this.container.current
    const ro = new ResizeObserver(entries => {
      for (let entry of entries) {
        this.setState({
          bigContainerWidth: entry.contentRect.width
        })
      }
    })
    ro.observe(bigContainer)
  }
  state = {
    currentDot: 0,
    bigContainerWidth: 0
  }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值