Berikut ialah contoh langkah demi langkah untuk mencipta karusel ringkas menggunakan Alpine.js. Alpine.js ialah rangka kerja JavaScript ringan yang menyediakan kereaktifan dan boleh digunakan untuk membina komponen interaktif tanpa banyak JavaScript.
Dalam contoh ini, kami akan mencipta karusel asas yang memaparkan imej satu demi satu, dengan butang "Sebelumnya" dan "Seterusnya" untuk menavigasi melaluinya. Jom mulakan!
Pertama, kami akan memasukkan Alpine.js dalam kepala fail HTML kami. Anda boleh melakukannya dengan menambah teg skrip berikut:
<!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>
Di dalam badan, buat div untuk komponen karusel dan mulakan dengan x-data untuk menentukan sifat dan kaedah 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>
Kini kami akan mentakrifkan fungsi karusel dalam komponen Alpine, menetapkan data awal dan kaedah untuk menavigasi imej.
<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>
Struktur HTML Karusel:
Data dan Kaedah Alpine.js:
Kami menambah gaya CSS asas untuk karusel dan butang untuk kedudukan dan keterlihatan. Peralihan CSS memberikan imej kesan pudar.
Contoh ini menyediakan kedua-dua fungsi automain dan kawalan boleh klik, menjadikan karusel interaktif. Beritahu saya jika anda mahu penyesuaian lanjut atau ciri tambahan!
Hubungi saya:@ LinkedIn dan semak Portfolio saya.
Sila berikan Projek GitHub saya bintang ⭐️
Kod Sumber
Atas ialah kandungan terperinci Bina Karusel Auto-Main Mudah dengan Kawalan Boleh Diklik Menggunakan Alpine.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!