Marquee

Marqueeは、コンテンツを水平方向または垂直方向に連続してスクロールさせるコンポーネントです。

使い方

import { Marquee } from "@yamada-ui/react"
<Marquee.Root>
  <Marquee.Edge direction="start" />
  <Marquee.Content>
    <Marquee.Item />
  </Marquee.Content>
  <Marquee.Edge direction="end" />
</Marquee.Root>

方向を変更する

方向を変更する場合は、orientationに"horizontal"または"vertical"を設定します。デフォルトでは、"horizontal"が設定されています。

スクロール方向を変更する

スクロール方向を変更する場合は、directionに"start"または"end"を設定します。デフォルトでは、"start"が設定されています。

スクロール方向を反転する

スクロール方向を反転する場合は、reverseをtrueにします。

速度を変更する

スクロール速度を変更する場合は、speedに数値(ピクセル/秒)を設定します。デフォルトでは、50が設定されています。

所要時間を変更する

所要時間を変更する場合は、durationに数値(秒)を設定します。durationを設定すると、speedより優先されます。

遅延させる

遅延させる場合は、delayに数値(秒)を設定します。

ループ回数を変更する

ループ回数を変更する場合は、loopCountに数値を設定します。

ホバー時に一時停止する

ホバー時に一時停止する場合は、pauseOnHoverをtrueにします。

フォーカス時に一時停止する

フォーカス時に一時停止する場合は、pauseOnFocusをtrueにします。

端にグラデーションを追加する

端にグラデーションを追加する場合は、Marquee.Edgeを使用します。

制御する

Props

アクセシビリティ

aria-labelまたはaria-labelledbyを設定すると、スクリーンリーダーによって読み上げられます。

<Marquee.Root aria-label="Technologies">
  <Marquee.Item>Yamada UI</Marquee.Item>
  <Marquee.Item>React</Marquee.Item>
  <Marquee.Item>TypeScript</Marquee.Item>
</Marquee.Root>

操作可能なコンテンツでは、キーボードユーザーが各アイテムにアクセスできるようにpauseOnFocusをtrueにします。

キーボード操作

キー説明状態
Spaceフォーカスがあるとき、一時停止と再開を切り替えます。-

ARIAロールと属性

要素ロールと属性使い方
div.ui-marquee__rootrole="region"リージョンであることを示します。
aria-roledescription="marquee"マーキーであることを示します。
aria-live="off"スクロールするコンテンツの繰り返しの読み上げを防ぎます。
aria-keyshortcuts="Space"一時停止を切り替えるキーボードショートカットを示します。
div.ui-marquee__group[data-clone]aria-hidden="true"複製されたコンテンツをスクリーンリーダーから隠します。
inert複製されたコンテンツをキーボード操作の対象から除外します。
div.ui-marquee__edgearia-hidden="true"装飾用のグラデーションをスクリーンリーダーから隠します。

類似のコンポーネント

Carousel

Carouselは、複数の要素をスライドショーのように表示するコンポーネントです。

InfiniteScrollArea

InfiniteScrollAreaは、無限スクロール機能を提供するコンポーネントです。このコンポーネントは、コンポーネントの終わりに達したときに次のデータセットを自動的に読み込み、表示することで、スムーズなスクロール体験を提供します。

Accordion

Accordionは、情報を展開または折りたたんで表示するリストのコンポーネントです。

Airy

Airyは、2つの要素をふわっと切り替えるアニメーションを提供するコンポーネントです。

Flip

Flipは、2つの要素をフリップさせながら切り替えるアニメーションを提供するコンポーネントです。

Motion

Motionは、MotionにYamada UIのStyle Propsを拡張した便利なコンポーネントです。

Ripple

Rippleは、要素に波及効果を付与し、ユーザーがクリックしたかどうかを認識させるコンポーネントです。

Rotate

Rotateは、2つの要素を回転させながら切り替えるアニメーションを提供するコンポーネントです。