Menggunakan JavaScript untuk mencapai kesan karusel imej

WBOY
Lepaskan: 2023-06-15 21:09:42
asal
3674 orang telah melayarinya

JavaScript ialah bahasa skrip popular yang boleh digunakan untuk mencapai pelbagai kesan dinamik, termasuk kesan karusel imej. Dalam artikel ini, saya akan menunjukkan kepada anda cara mencipta kesan karusel imej menggunakan JavaScript. Artikel ini akan dibahagikan kepada tiga bahagian berikut:

  1. Penyediaan HTML dan CSS
  2. Penulisan kod JavaScript
  3. Melaksanakan kesan karusel imej

Penyediaan HTML dan CSS

Kesan karusel imej kami memerlukan rangka kerja HTML, seperti yang ditunjukkan di bawah:

<div class="slider">
    <ul class="slides">
        <li><img src="image1.jpg"></li>
        <li><img src="image2.jpg"></li>
        <li><img src="image3.jpg"></li>
        <li><img src="image4.jpg"></li>
    </ul>
</div>
Salin selepas log masuk

Atas dasar ini, kami memerlukan beberapa gaya CSS untuk digunakan Bingkai mempunyai gaya dan reka letak tertentu, seperti yang ditunjukkan di bawah:

.slider {
    width: 100%;
    height: 400px;
    overflow: hidden;
}
.slides {
    display: flex;
    list-style: none;
    height: 100%;
    margin: 0;
    padding: 0;
}
.slides li {
    flex: 1;
}
.slides img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
Salin selepas log masuk

Menulis kod JavaScript

Kita perlu menetapkan beberapa pembolehubah dan pemalar untuk menyimpan karusel imej dan status gelongsor kami, seperti Paparan berikut:

const slides = document.querySelectorAll('.slides li');
const slider = document.querySelector('.slider');
const next = document.querySelector('.next');
const prev = document.querySelector('.prev');
const auto = true; // 是否自动播放
const intervalTime = 5000; // 图片切换时间间隔
let slideInterval;
let slideIndex = 0; // 当前图片索引
Salin selepas log masuk

Seterusnya, kita perlu menulis fungsi untuk mencapai kesan karusel imej. Berikut ialah contoh fungsi:

function nextSlide() {
    slides[slideIndex].classList.remove('active');
    slideIndex = (slideIndex + 1) % slides.length;
    slides[slideIndex].classList.add('active');
}
Salin selepas log masuk

Fungsi ini akan mengalih keluar kelas "aktif" gambar semasa, menambah kelas "aktif" gambar seterusnya dan meningkatkan indeks gambar semasa sebanyak 1, yang akan mencapai kesan karusel imej kami.

Seterusnya, kita perlu menulis fungsi lain untuk mengendalikan fungsi autoplay:

function startSlide() {
    if (auto) {
        slideInterval = setInterval(nextSlide, intervalTime);
    }
}
Salin selepas log masuk

Fungsi ini akan menyemak sama ada kita perlu autoplay gambar, jika ya, ia akan dipanggil selepas masa tertentu selang Fungsi nextSlide yang baru kita tulis.

Akhir sekali, kami juga perlu menulis dua fungsi yang mengendalikan acara klik untuk membolehkan pengguna menukar gambar secara manual:

function pauseSlide() {
    clearInterval(slideInterval);
}

function clickPrev() {
    pauseSlide();
    slides[slideIndex].classList.remove('active');
    slideIndex--;
    if (slideIndex < 0) {
        slideIndex = slides.length - 1;
    }
    slides[slideIndex].classList.add('active');
}
function clickNext() {
    pauseSlide();
    nextSlide();
}
Salin selepas log masuk

Fungsi ini mewakili menjeda main balik automatik, bertukar kepada gambar sebelumnya dan bertukar secara bergilir-gilir Pergi ke fungsi gambar seterusnya.

Melaksanakan kesan karusel imej

Kini, kami telah menyediakan semua kod HTML, CSS dan JavaScript. Mari letakkan semua kod ini dalam fail HTML yang sama, kemudian buka dan lihat kesannya!

Kita boleh menukar gambar dengan mengklik anak panah kiri dan kanan atau menggunakan fungsi automain. Kami juga boleh menyesuaikan gaya, kedudukan dan saiz anak panah ini untuk memenuhi keperluan kami.

Ringkasan

Dalam artikel ini, kami mempelajari cara menggunakan JavaScript untuk melaksanakan kesan karusel imej ringkas. Sepanjang perjalanan, kami belajar cara mengendalikan pelbagai acara dan keadaan, mewujudkan pengalaman pengguna yang dinamik dan lancar untuk kami. Jika anda mahukan kesan yang lebih dinamik serupa dengan kesan karusel imej, saya syorkan anda mempelajari pengaturcaraan JavaScript secara mendalam, ia mempunyai potensi kreatif tanpa had!

Atas ialah kandungan terperinci Menggunakan JavaScript untuk mencapai kesan karusel imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!