css - 标题 : Creating an infinite logo slider using React and CSS without third-party libraries

标签 css reactjs typescript slider infinity

我正在使用 CSS 在我的 React 应用程序中实现 Logo slider 。我希望 slider 表现为无限循环,其中幻灯片中的最后一个 Logo 后面跟着第一个 Logo ,并且此模式无限期地继续。

目前,我在 TSX 文件中的实现如下所示:

<section className={classes['container']}>
    <div className={classes['logosSlide']}>
        {props.clientsContent?.map((client, i) => (
            <span key={i}>{client.attributes.clientName}</span>
        ))}
    </div>
</section>

您能否指导我仅使用 React 和 CSS 实现此无限循环功能,而不依赖任何第三方库?

感谢您提供的任何帮助。

最佳答案

将 CSS 样式添加到您的组件:

import React, { useEffect } from 'react';
import classes from './LogoSlider.module.css';

const LogoSlider = (props) => {
  useEffect(() => {
    const container = document.querySelector(`.${classes.container}`);
    const slide = document.querySelector(`.${classes.logosSlide}`);

    const cloneSlide = slide.cloneNode(true);
    container.appendChild(cloneSlide);
  }, []);

  return (
    <section className={classes.container}>
      <div className={classes.logosSlide}>
        {props.clientsContent?.map((client, i) => (
          <span key={i}>{client.attributes.clientName}</span>
        ))}
      </div>
    </section>
  );
};

export default LogoSlider;

在单独的 CSS 文件中定义 CSS 样式(例如,LogoSlider.module.css):

.container {
  width: 100%;
  overflow: hidden;
}

.logosSlide {
  display: flex;
  animation: slide infinite 20s linear;
}

@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

关于css - 标题 : Creating an infinite logo slider using React and CSS without third-party libraries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76501927/

相关文章:

html - 制作带有通知计数的通知图标

reactjs - 使用 Fetch API 和 cross-fetch polyfill 在文件输入更改时上传文件

node.js - NextAuth 授权用户但用户信息为空

javascript - 使用 Angular 应用程序使用 SOAP Web 服务

javascript - React-Native 应用程序中来自 Babel 的未知选项错误

css - 阻止 Div 在 CSS 中不正确地堆叠

html - 向右浮动就是向左浮动?

JavaFX CSS "Resource not found"

javascript - 我的演示组件的 return 语句内的 if 语句引发意外的标记错误

javascript - 如何在swagger中使用type(typescript类型)@ApiProperty类型