🎨KRDS 갤러리
메인으로전체 컴포넌트
  • 기본 버튼쉬움
  • 버튼 계층구조쉬움
  • 아이콘 버튼쉬움
  • 버튼 크기쉬움
  • 텍스트 버튼쉬움
  • 아이콘 포함 버튼쉬움
  • 텍스트 입력쉬움
  • 아이콘 텍스트 입력쉬움
  • 텍스트 입력 크기쉬움
  • 텍스트 입력 상태보통
  • 텍스트영역쉬움
  • 셀렉트쉬움
  • 셀렉트 크기쉬움
  • 셀렉트 정렬쉬움
  • 셀렉트 상태보통
  • 체크박스쉬움
  • 칩 체크박스쉬움
  • 체크박스 크기쉬움
  • 라디오 버튼쉬움
  • 칩 라디오쉬움
  • 라디오 크기쉬움
  • 파일 업로드보통
  • 날짜 입력보통
  • 헤더어려움
  • 푸터보통
  • 메인메뉴(PC)어려움
  • 메인메뉴(모바일)어려움
  • 사이드 내비게이션보통
  • 인페이지 내비게이션보통
  • 브레드크럼쉬움
  • 페이지네이션보통
  • 스킵 링크쉬움
  • 아코디언보통
  • 라인 아코디언보통
  • 배지쉬움
  • 숫자 배지쉬움
  • 배지 크기쉬움
  • 태그쉬움
  • 링크 태그쉬움
  • 툴팁보통
  • 박스 툴팁보통
  • 세로 툴팁보통
  • 캐러셀어려움
  • 배너 캐러셀어려움
  • 테이블보통
  • 구조화 목록쉬움
  • 구조화 목록 테이블보통
  • 모달보통
  • 모달 샘플보통
  • 스피너쉬움
  • 단계 표시기보통
  • 중요 알림보통
  • 코치 마크어려움
  • 맥락 도움말보통
  • 도움말 패널보통
  • 튜토리얼 패널보통
  • 캘린더어려움
  • 기간 캘린더어려움
  • 디스클로저보통
  • 크기 조절보통
  • 언어 전환보통
  • 언어 전환(페이지)보통
  • 토글 스위치쉬움
  • 토글 스위치 크기쉬움
  • TTS보통
  • TTS 아이콘쉬움
  • TTS 크기쉬움
  • 탭보통
  • 텍스트 목록쉬움
  • 순서 목록쉬움
  • 파비콘쉬움
  • 식별자쉬움
  • 마스트헤드쉬움
갤러리/표시/배너 캐러셀

배너 캐러셀

배너용 캐러셀 컴포넌트입니다.

#carousel #banner

배너영역 타이틀

  • 서브타이틀

    타이틀

  • 서브타이틀

    타이틀

더 보기
HTML
<div class="main-sect">
    <div class="inner">
        <div class="main-box-responsive type-wrap">
            <div class="d-fix">
                <div class="main-tit-wrap">
                    <h2 class="tit">배너영역 타이틀</h2>
                </div>

                <div class="in">
                    <div class="main-d-ban-swiper">
                        <div class="swiper">
                            <ul class="swiper-wrapper">
                                <li class="swiper-slide">
                                    <div class="text">
                                        <p class="cate">서브타이틀</p>
                                        <p class="tit">타이틀</p>
                                    </div>
                                    <div class="im">
                                        <svg width="243" height="178" viewBox="0 0 243 178" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="예시">
                                            <rect width="243" height="178" fill="#E6E8EA" />
                                        </svg>
                                    </div>
                                </li>
                                <li class="swiper-slide">
                                    <div class="text">
                                        <p class="cate">서브타이틀</p>
                                        <p class="tit">타이틀</p>
                                    </div>
                                    <div class="im">
										<svg width="243" height="178" viewBox="0 0 243 178" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="예시">
											<rect width="243" height="178" fill="#E6E8EA"/>
										</svg>
                                    </div>
                                </li>
                            </ul>
                        </div>
                        <div class="swiper-indicator">
                            <div class="swiper-pagination"></div>
                            <div class="swiper-controller">
                                <button type="button" class="swiper-button-play">
                                    <span class="sr-only">슬라이드 재생</span>
                                </button>
                                <button type="button" class="swiper-button-stop">
                                    <span class="sr-only">슬라이드 멈춤</span>
                                </button>
                            </div>
                            <div class="swiper-navigation">
                                <button type="button" class="swiper-button-prev">
                                    <span class="sr-only">이전</span>
                                </button>
                                <button type="button" class="swiper-button-next">
                                    <span class="sr-only">다음</span>
                                </button>
                                <a href="#" class="swiper-button-more">
                                    <span class="sr-only">더 보기</span>
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>


<script>
    const eleBanSwiper = new Swiper(".main-d-ban-swiper .swiper", {
        slidesPerView: 1,
        spaceBetween: 16,
        speed: 400,
        loop: true,
        autoplay: {
            delay: 2500,
            disableOnInteraction: false,
            pauseOnMouseEnter: true,
        },
        navigation: {
            nextEl: ".main-d-ban-swiper .swiper-button-next",
            prevEl: ".main-d-ban-swiper .swiper-button-prev",
        },
        pagination: {
            el: ".main-d-ban-swiper .swiper-pagination",
            type: "fraction",
        },
    });
    const $eleBanSwiperPlay = document.querySelector(".main-d-ban-swiper .swiper-button-play");
    const $eleBanSwiperStop = document.querySelector(".main-d-ban-swiper .swiper-button-stop");

    $eleBanSwiperPlay.style.display = "none";

    $eleBanSwiperPlay.addEventListener("click", () => {
        eleBanSwiper.autoplay.start();
        $eleBanSwiperStop.style.display = "";
        $eleBanSwiperPlay.style.display = "none";
    });

    $eleBanSwiperStop.addEventListener("click", () => {
        eleBanSwiper.autoplay.stop();
        $eleBanSwiperStop.style.display = "none";
        $eleBanSwiperPlay.style.display = "";
    });
</script>
Vue 컴포넌트
<template>
  <div class="main-sect">
    <div class="inner">
        <div class="main-box-responsive type-wrap">
            <div class="d-fix">
                <div class="main-tit-wrap">
                    <h2 class="tit">배너영역 타이틀</h2>
                </div>

                <div class="in">
                    <div class="main-d-ban-swiper">
                        <div class="swiper">
                            <ul class="swiper-wrapper">
                                <li class="swiper-slide">
                                    <div class="text">
                                        <p class="cate">서브타이틀</p>
                                        <p class="tit">타이틀</p>
                                    </div>
                                    <div class="im">
                                        <svg width="243" height="178" viewBox="0 0 243 178" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="예시">
                                            <rect width="243" height="178" fill="#E6E8EA" />
                                        </svg>
                                    </div>
                                </li>
                                <li class="swiper-slide">
                                    <div class="text">
                                        <p class="cate">서브타이틀</p>
                                        <p class="tit">타이틀</p>
                                    </div>
                                    <div class="im">
										<svg width="243" height="178" viewBox="0 0 243 178" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="예시">
											<rect width="243" height="178" fill="#E6E8EA"/>
										</svg>
                                    </div>
                                </li>
                            </ul>
                        </div>
                        <div class="swiper-indicator">
                            <div class="swiper-pagination"></div>
                            <div class="swiper-controller">
                                <button type="button" class="swiper-button-play">
                                    <span class="sr-only">슬라이드 재생</span>
                                </button>
                                <button type="button" class="swiper-button-stop">
                                    <span class="sr-only">슬라이드 멈춤</span>
                                </button>
                            </div>
                            <div class="swiper-navigation">
                                <button type="button" class="swiper-button-prev">
                                    <span class="sr-only">이전</span>
                                </button>
                                <button type="button" class="swiper-button-next">
                                    <span class="sr-only">다음</span>
                                </button>
                                <a href="#" class="swiper-button-more">
                                    <span class="sr-only">더 보기</span>
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>


<script>
    const eleBanSwiper = new Swiper(".main-d-ban-swiper .swiper", {
        slidesPerView: 1,
        spaceBetween: 16,
        speed: 400,
        loop: true,
        autoplay: {
            delay: 2500,
            disableOnInteraction: false,
            pauseOnMouseEnter: true,
        },
        navigation: {
            nextEl: ".main-d-ban-swiper .swiper-button-next",
            prevEl: ".main-d-ban-swiper .swiper-button-prev",
        },
        pagination: {
            el: ".main-d-ban-swiper .swiper-pagination",
            type: "fraction",
        },
    });
    const $eleBanSwiperPlay = document.querySelector(".main-d-ban-swiper .swiper-button-play");
    const $eleBanSwiperStop = document.querySelector(".main-d-ban-swiper .swiper-button-stop");

    $eleBanSwiperPlay.style.display = "none";

    $eleBanSwiperPlay.addEventListener("click", () => {
        eleBanSwiper.autoplay.start();
        $eleBanSwiperStop.style.display = "";
        $eleBanSwiperPlay.style.display = "none";
    });

    $eleBanSwiperStop.addEventListener("click", () => {
        eleBanSwiper.autoplay.stop();
        $eleBanSwiperStop.style.display = "none";
        $eleBanSwiperPlay.style.display = "";
    });
</script>
</template>

<script setup lang="ts">
// 배너 캐러셀 컴포넌트
// 배너용 캐러셀 컴포넌트입니다.

import { ref } from 'vue'

// 필요한 상태 및 메서드 정의
const isActive = ref(false)

const handleClick = () => {
  isActive.value = !isActive.value
}
</script>

컴포넌트 정보

파일명
carousel_banner.html
카테고리
표시
난이도
어려움