다음은 Alpine.js를 사용하여 간단한 캐러셀을 만드는 단계별 예입니다. Alpine.js는 반응성을 제공하고 많은 JavaScript 없이 대화형 구성 요소를 구축하는 데 사용할 수 있는 경량 JavaScript 프레임워크입니다.
이 예에서는 이미지를 탐색할 수 있는 '이전' 및 '다음' 버튼을 사용하여 이미지를 한 번에 하나씩 표시하는 기본 캐러셀을 만듭니다. 시작해 보세요!
먼저 HTML 파일의 헤드에 Alpine.js를 포함하겠습니다. 다음 스크립트 태그를 추가하면 됩니다.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Alpine.js Carousel</title> <script src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js" defer></script> <style> .carousel { display: flex; justify-content: center; align-items: center; width: 100%; height: 300px; overflow: hidden; position: relative; } .carousel img { width: 100%; transition: opacity 0.5s ease-in-out; opacity: 0; } .carousel img.active { opacity: 1; } </style> </head> <body>
본문 내부에서 캐러셀 구성요소에 대한 div를 생성하고 x-data로 초기화하여 Alpine.js 속성과 메서드를 정의합니다.
<div x-data="carousel()" class="carousel"> <!-- Previous Button --> <button @click="prev" class="absolute left-0 bg-gray-700 text-white px-3 py-2 rounded">Previous</button> <!-- Carousel Images --> <template x-for="(image, index) in images" :key="index"> <img :src="image" :class="{'active': index === currentIndex}" alt="Carousel Image"> </template> <!-- Next Button --> <button @click="next" class="absolute right-0 bg-gray-700 text-white px-3 py-2 rounded">Next</button> </div>
이제 Alpine 구성 요소에서 캐러셀 기능을 정의하고 이미지 탐색을 위한 초기 데이터와 방법을 설정하겠습니다.
<script> function carousel() { return { currentIndex: 0, // Track the index of the current image images: [ 'https://via.placeholder.com/600x300?text=Slide+1', 'https://via.placeholder.com/600x300?text=Slide+2', 'https://via.placeholder.com/600x300?text=Slide+3', ], interval: null, startAutoPlay() { this.interval = setInterval(() => { this.next(); }, 3000); // Change every 3 seconds }, stopAutoPlay() { clearInterval(this.interval); }, // Method to go to the next image next() { this.currentIndex = (this.currentIndex + 1) % this.images.length; }, // Method to go to the previous image prev() { this.currentIndex = (this.currentIndex - 1 + this.images.length) % this.images.length; }, init() { this.startAutoPlay(); } }; } </script>
회전식 HTML 구조:
Alpine.js 데이터 및 방법:
캐러셀에 대한 기본 CSS 스타일과 위치 지정 및 가시성을 위한 버튼을 추가했습니다. CSS 전환은 이미지에 페이드인 효과를 줍니다.
이 예는 자동 재생 기능과 클릭 가능한 컨트롤을 모두 제공하여 캐러셀을 대화형으로 만듭니다. 추가 맞춤설정이나 추가 기능을 원하시면 알려주세요!
저와 연결하세요:@ LinkedIn을 통해 내 포트폴리오를 확인해 보세요.
내 GitHub 프로젝트에 별점을 주세요 ⭐️
소스코드
위 내용은 Alpine.js를 사용하여 클릭 가능한 컨트롤이 포함된 간단한 자동 재생 캐러셀 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!