5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vue.jsでカルーセルを実装してみた

5
Last updated at Posted at 2025-12-01

「カルーセル(スライダー)の実装」と聞くと、スワイプ動作の制御やレスポンシブ対応など、実装が大変そうなイメージがあったのですが、今回、Vue.jsのプロジェクトで横スクロールのカルーセルを実装してみてとても簡単だったので、シェアします。

カルーセルとは?

「回転木馬(メリーゴーラウンド)」や、空港の「手荷物受取所の回転台」を指す言葉です。 Webのカルーセルも、コンテンツがくるくると回るように入れ替わる動きをすることから、この名前がつけられたとのことです。


(出典: Wikipedia)

使ったライブラリ

vue3-carousel
Vue 3専用に作られた軽量なカルーセルライブラリです。

準備

ライブラリをインストールしてください。

npm install vue3-carousel

実装コード

スマホ表示の時だけ、コンポーネントを横並びにしてスライドさせる実装例です。

<script setup>
import { Carousel, Slide } from 'vue3-carousel';

// ... isMobile判定やitems(データ配列)の取得ロジックなどは別途実装してください

</script>

<template>
  <Carousel
    class="mt-6"
    v-if="isMobile" 
    :items-to-show="3.5"  // 一度に表示する数
    :wrap-around="false"  // カルーセルをループさせない
  >
    <Slide v-for="item in items" :key="item.id" class="px-1">]
      // SlideComponentは別途実装してください。
      <SlideComponent :data="item" />
    </Slide>
  </Carousel>
</template>

実装イメージ

itemの4個目の端が見切れて「横にスクロールできそう感」を出しました。

image.png

感想

vue3-carousel はコンポーネントとして CarouselSlide をインポートして囲むだけなので、簡単に実装できました!

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?