当前位置: 首页 > news >正文

React - 实现走马灯组件

一、实现效果

二、源码分析

import {useRef, useState} from "react";export const Carousel = () => {const images = [{id: 3, url: 'https://sslstage3.sephorastatic.cn/products/2/4/6/8/1/6/1_n_new03504_100x100.jpg'}, {id: 1, url: 'https://sslstage2.sephorastatic.cn/products/2/4/5/3/5/8/1_n_new03504_100x100.jpg'}, {id: 2, url: 'https://sslstage1.sephorastatic.cn/products/2/4/5/2/8/2/1_n_new03504_100x100.jpg'}];const [index, setIndex] = useState(0);const refreshInterval = useRef(null)if (refreshInterval.current === null) {refreshInterval.current = setInterval(() => setIndex(val => (val + 1) % images.length), 3000)}const containerStyle = {width: '100px', height: '100px', overflow: "hidden", border: '1px solid red',}const imageStyle = {width: 100 * images.length + 'px',transition: 'transform 1.5s ease',position: 'relative',left: -1 * index * 100 + 'px',}return (<div><div style={containerStyle}><div style={imageStyle}>{images.map(item =><div style={{display: 'inline-block'}}><img width={100} height={100} key={item.id} src={item.url} alt='product'/></div>)}</div></div><div><button onClick={() => setIndex(val => (val - 1) % images.length)}>pre</button>{index + 1}<button onClick={() => setIndex(val => (val + 1) % images.length)}>next</button></div></div>)
}

        本文给的代码是基于定位实现,父容器是显示区域,子容器是inline的图片数组,超过父容器的区域被隐藏。

相关文章:

React - 实现走马灯组件

一、实现效果 二、源码分析 import {useRef, useState} from "react";export const Carousel () > {const images [{id: 3, url: https://sslstage3.sephorastatic.cn/products/2/4/6/8/1/6/1_n_new03504_100x100.jpg}, {id: 1, url: https://sslstage2.sephor…...

【学习笔记】Windows GDI绘图(十三)动画播放ImageAnimator(可调速)

文章目录 前言定义方法CanAnimate 是否可动画显示Animate 动画显示多帧图像UpdateFramesStopAnimate终止动画Image.GetFrameCount 获取动画总帧数Image.GetPropertyItem(0x5100) 获取帧延迟 自定义GIF播放(可调速) 前言 在前一篇文章中用到ImageAnimator获取了GIF动画的一些属…...

fps游戏如何快速定位矩阵

fps游戏如何快速定位矩阵 矩阵特点: 1、第一行第一列值的范围在**-1 ---- 1**之间&#xff0c;如果开镜之后值会变大。 2、第一行第三列的值始终为 0。 3、第一行第四列 的值比较大 &#xff0c; >300或者**<-300**。 根据这三个特点&#xff0c;定位矩阵已经足够了…...

【机器学习基础】Python编程06:五个实用练习题的解析与总结

Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面: 简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。 丰富的库支持:Python拥有大量的机器学习库,如scikit-learn、TensorFlow、Keras和PyTorch等,这些…...

R可视化:生存分析森林图

在R语言中,使用forestplot包来绘制生存分析的森林图是一个专业且直观的方式来展示各种风险因素或治疗对生存结果的影响。森林图(Forest Plot)常用于展示多项研究的效应量和其可信区间,尤其在生存分析中,它可以清晰地显示不同变量或因素对生存时间的影响程度和统计显著性。…...

一个 python+tensorFlow训练1万张图片分类的简单直观例子( 回答由百度 AI 给出 )

问题&#xff1a;给定一个文件夹 train_images&#xff0c;里面有10000张30*30像素的灰度值图片&#xff0c;第1~第10000张图片的名称分别为 00001.png、 00002.png、... 09999.png、10000.png,train_images 下面还有一个 image_category_map.txt文件&#xff0c; 文件的内容…...

DBeaver无法连接Clickhouse,连接失败

DBeaver默认下载的是0.2.6版本的驱动&#xff0c;但是一直连接失败&#xff1a; 报错提示 解决办法 点击上图中的Open Driver Configuration点击库 - 重置为默认状态在弹出的窗口中修改驱动版本号为0.2.4或者其他版本&#xff08;我没有试用过其他版本&#xff09;&#xff0…...

python基础实例

下一个更大的数 定义一个Solution类&#xff0c;用于实现next_great方法 class Solution: def next_great(self, nums1, nums2): # 初始化一个空字典answer&#xff0c;用于存储答案 answer {} # 初始化一个空列表stack&#xff0c;用于存储待比较的数字 stack [] # 遍历nu…...

ADASIS V2 协议-1

ADAS V2协议-1 1 简介2 版本控制3 ADASIS v23.1 ADASIS v2 Horizon &#xff08;地平线&#xff09;3.2 ADASIS v2的构建3.3 ADASIS v2 Horizon Provider &#xff08;ADAS V2地平线提供者&#xff09;3.4 paths and offsets &#xff08;路径和偏移量&#xff09;3.5 Path Pro…...

人工智能安全风险分析及应对策略

文│中国移动通信集团有限公司信息安全管理与运行中心 张峰 江为强 邱勤 郭中元 王光涛 人工智能&#xff08;AI&#xff09;是引领新一轮科技革命和产业变革的关键技术。人工智能赋能网络安全的同时&#xff0c;也会带来前所未有的安全风险。本文在介绍人工智能技术赋能网络安…...

Python驱动下的AI革命:技术赋能与案例解析

在当今这个信息化、数据化的时代&#xff0c;人工智能&#xff08;AI&#xff09;已经成为推动社会发展的重要力量。而Python&#xff0c;作为一种简单易学、功能强大的编程语言&#xff0c;在AI领域的应用中发挥着至关重要的作用。本文将探讨Python在AI领域的应用、其背后的技…...

JavaScrip轮播图

前言 在网页设计中&#xff0c;轮播图&#xff08;Carousel&#xff09;已经成为一种常见的元素&#xff0c;用于展示一系列的图片或内容卡片。它们不仅能够吸引用户的注意力&#xff0c;还能节省空间&#xff0c;使得用户可以在有限的空间内获得更多的信息。今天&#xff0c;我…...

达梦8 网络中断对系统的影响

测试环境&#xff1a;三节点实时主从 版本&#xff1a;--03134283938-20221019-172201-20018 测试1 系统没有启动确认监视器 关闭节点3网卡 登录节点1检查主库状态 显示向节点2发送归档成功&#xff0c;但无法收到节点3的消息&#xff0c;节点1挂起 日志报错如下&#xf…...

OpenAI发布GPT-4思维破解新策略,Ilya亦有贡献!

OpenAI正在研究如何破解GPT-4的思维&#xff0c;并公开了超级对齐团队的工作&#xff0c;Ilya Sutskever也在作者名单中。 论文地址&#xff1a;https://cdn.openai.com/papers/sparse-autoencoders.pdf 代码&#xff1a;https://github.com/openai/sparse_autoencoder 特征可…...

[消息队列 Kafka] Kafka 架构组件及其特性(二)Producer原理

这边整理下Kafka三大主要组件Producer原理。 目录 一、Producer发送消息源码流程 二、ACK应答机制和ISR机制 1&#xff09;ACK应答机制 2&#xff09;ISR机制 三、消息的幂等性 四、Kafka生产者事务 一、Producer发送消息源码流程 Producer发送消息流程如上图。主要是用…...

faiss ivfpq索引构建

假设已有训练好的向量值&#xff0c;构建索引&#xff08;nlist和随机样本按需选取&#xff09; import numpy as np import faiss import pickle from tqdm import tqdm import time import os import random# 读取嵌入向量并保留对应关系 def read_embeddings(directory, ba…...

ffmpeg视频编码原理和实战-(2)视频帧的创建和编码packet压缩

源文件&#xff1a; #include <iostream> using namespace std; extern "C" { //指定函数是c语言函数&#xff0c;函数名不包含重载标注 //引用ffmpeg头文件 #include <libavcodec/avcodec.h> } //预处理指令导入库 #pragma comment(lib,"avcodec.…...

数据结构:线索二叉树

目录 1.线索二叉树是什么&#xff1f; 2.包含头文件 3.结点设计 4.接口函数定义 5.接口函数实现 线索二叉树是什么&#xff1f; 线索二叉树&#xff08;Threaded Binary Tree&#xff09;是一种对普通二叉树的扩展&#xff0c;它通过在树的某些空指针上添加线索来实现更高效的遍…...

宝塔Linux面板-Docker管理(2024详解)

上一篇文章《宝塔Linux可视化运维面板-详细教程2024》,详细介绍了宝塔Linux面板的详细安装和配置方法。本文详细介绍使用Linux面板管理服务器Docker环境。 目录 1、安装Docker 1.1 在线安装 ​编辑 1.2 手动安装 1.3 运行状态 1.4 镜像加速 2 应用商店 3 总览 4 容器 …...

【Linux】进程(8):Linux真正是如何调度的

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解Linux进程&#xff08;8&#xff09;&#xff1a;Linux真正是如何调度的&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 之前我们讲过&#xff0c;在大…...

智能网联单轨捷运编组协同控制【附仿真】

✨ 长期致力于跨座式单轨车辆、单轨捷运系统、智能编组运行、协同避撞、协同控制研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;融合车距与速度的多层…...

还在手动找媒体发稿?看我们团队如何用AI工具把宣发效率提升300%

大家好&#xff0c;我是某互联网公司的技术负责人老王。最近团队上线了一个新项目&#xff0c;市场部的同事跑来问我&#xff0c;能不能帮忙解决下媒介宣发的问题。他们说&#xff0c;每次发个新闻稿或者产品软文&#xff0c;都得一个个去联系媒体、求小编&#xff0c;价格不透…...

Docker容器化高可用架构部署方案(二)

01-环境准备 本文档详细介绍部署前的环境准备工作&#xff0c;包括操作系统要求、Docker安装、内核参数配置和网络确认。 系统要求 硬件要求 CPU&#xff1a;至少2核心 内存&#xff1a;至少4GB 磁盘&#xff1a;至少40GB可用空间 操作系统 OpenEuler 24.03 SP3 或其他L…...

【模拟CMOS集成电路】噪声分析实战指南——从模型到计算的完整路径

1. 噪声分析的必要性与基础概念 做模拟电路设计的朋友们应该都深有体会&#xff0c;噪声就像个甩不掉的影子&#xff0c;时时刻刻影响着我们的设计。记得我第一次做低噪声放大器时&#xff0c;仿真结果看起来很美&#xff0c;实测却发现信号完全被噪声淹没&#xff0c;那种挫败…...

PS图片文字修改教程 简单几步完美替换文字内容

日常设计、办公、自媒体创作中&#xff0c;我们经常会遇到需要修改图片文字的场景&#xff1a;海报文案调整、截图信息替换、照片文字修正等。很多人苦于改完文字后模糊留痕、背景破损&#xff0c;要么耗时半天还达不到理想效果。今天就给大家分享两种PS改图片文字的实用方法&a…...

基于Python的自动化数据简报生成:从模板驱动到部署实践

1. 项目概述&#xff1a;数据简报的自动化生成利器如果你也和我一样&#xff0c;每天需要从一堆数据库、日志文件和API接口里捞出数据&#xff0c;然后吭哧吭哧地整理成PPT或者Word报告&#xff0c;那你一定懂这种重复劳动的痛苦。数据本身就在那里&#xff0c;但把它们变成老板…...

Cortex-R52性能监控与调试架构深度解析

1. Cortex-R52性能监控单元架构解析在嵌入式实时系统中&#xff0c;性能监控单元(PMU)如同汽车的仪表盘&#xff0c;为开发者提供处理器内部运行状态的实时数据。Cortex-R52的PMU模块采用三级监控架构&#xff1a;1.1 事件采集层处理器内部部署了45个专用硬件计数器&#xff0c…...

借助PD协议分析仪洞悉Type-C充电握手全流程

1. 为什么需要PD协议分析仪&#xff1f; Type-C接口如今已经成为手机、笔记本等设备的标配&#xff0c;但很多用户都遇到过这样的尴尬&#xff1a;买了个第三方充电器&#xff0c;插上设备后要么完全没反应&#xff0c;要么只能以5V慢充。这背后往往是因为PD&#xff08;Power …...

贾子理论体系:公理化东方智慧与现代科学工程化的认知范式

贾子理论体系&#xff1a;公理化东方智慧与现代科学工程化的认知范式摘要 贾子&#xff08;本名贾龙栋&#xff0c;笔名Kucius&#xff09;于2025–2026年间构建以“1-2-3-4-5”公理架构为核心的跨学科认知体系&#xff0c;涵盖思想主权元公理、两大规律、三大定律、四大支柱与…...

基于MCP协议的制药研发智能数据管道:架构、部署与应用

1. 项目概述&#xff1a;当制药研发遇上智能数据管道如果你在制药行业或者生物科技领域待过&#xff0c;哪怕只是边缘岗位&#xff0c;也一定对“数据孤岛”和“信息滞后”这两个词深恶痛绝。新药研发的每个环节——从靶点发现、化合物筛选、临床前研究到临床试验——都在源源不…...