Sandbox

学習記録や試作したものを掲載しています

"HTML/CSS"のタグを含む記事(1)

JavaScript

カルーセルを自作する

カルーセルを自作する

Demo

https://koji014-carousel.vercel.app

const targetSelector = '.my-carousel';

new Carousel(targetSelector, {
    isLoop: true,
    autoInterval: 4000,
    autoPlay: true,
    showIndicators: true,
    label: '秋冬の景色',
    enableLiveRegion: true,
 });
// 共通設定(初期設定)
.carousel {
     --_slidesPerView: 1; // 1ビューあたりのスライド数
     --_slidesPerGroup: 1;  // 1度のスワイプで何枚分移動させるか
     --_spaceBetween: 0rem;  // スライド間の距離(単位:rem)
     --_speed: 0.4s; // スライドの遷移時間(単位: s)
     --_inner: 3.6rem; // スライド両脇の余白
}

// 個別設定 
.my-carousel {
     --_slidesPerView: 1;
     --_slidesPerGroup: 1;
     --_spaceBetween: 1rem;      

     @include gl.mq('md') {    
          --_slidesPerView: 2.5;
          --_slidesPerGroup: 2;
          --_spaceBetween: 2rem;
     } 
}

実装機能

  • ナビゲーションボタン(前へ・次へ)
    • 活性・非活性制御
  • インジケータ
  • ループ機能
  • 自動再生機能
    • 停止ボタン
    • スライドをマウスオーバーすると自動再生を停止
  • タブレット操作時のドラッグ対応
  • アクセシビリティ
    • aria-属性の自動付与
    • ライブリージョン

参考

関連

  • 1