青梧 UI

Carousel 轮播图

左侧大图 + 右侧卡片文案 + 底部缩略图(右对齐至左图右缘);背景从左往右滑入、角色随后淡入上移,文案逐行从右往左滑入;移动端支持触屏横滑切换,缩略图可切换为悬浮胶囊。

速度实际播放间隔 = 3800ms ÷ 1× = 3800ms(下限 250ms)
import { Carousel, type CarouselItem } from "@qingwu-ui/carousel";
import "@qingwu-ui/carousel/style.css";
import { useEffect, useRef } from "react";

const ITEMS: CarouselItem[] = [
  { value: "01", title: "晨光", image: "/hero.png" },
  // ...
];

export default function HeroCarousel() {
  const rootRef = useRef<HTMLDivElement>(null);

  useEffect(() => {
    if (!rootRef.current) return;
    const carousel = new Carousel(rootRef.current, {
      items: ITEMS,
      defaultValue: "01",
      autoplay: true,
      interval: 3800,
      speed: 1, // 倍速:实际间隔 = interval / speed(下限 250ms)
      loop: true,
      showArrows: true,
      showThumbs: true,
    });
    return () => carousel.destroy();
  }, []);

  return <div ref={rootRef} />;
}