Rumah > hujung hadapan web > tutorial js > Bagaimana untuk menggunakan JavaScript untuk mencapai kesan pensuisan gelongsor ke atas dan ke bawah pada imej sambil menambah animasi zum dan pudar?

Bagaimana untuk menggunakan JavaScript untuk mencapai kesan pensuisan gelongsor ke atas dan ke bawah pada imej sambil menambah animasi zum dan pudar?

PHPz
Lepaskan: 2023-10-20 17:15:11
asal
1092 orang telah melayarinya

JavaScript 如何实现图片的上下滑动切换效果同时加入缩放和淡入淡出动画?

JavaScript Bagaimana untuk mencapai kesan pensuisan gelongsor ke atas dan ke bawah bagi imej sambil menambah animasi zum dan pudar?

Dalam reka bentuk web, kesan penukaran imej sering digunakan untuk meningkatkan pengalaman pengguna. Antara kesan penukaran ini, gelongsor ke atas dan ke bawah, animasi zum dan pudar adalah agak biasa dan menarik. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk mencapai gabungan ketiga-tiga kesan animasi ini.

Pertama, kita perlu menggunakan HTML untuk membina struktur halaman web asas, yang mengandungi elemen imej yang akan dipaparkan. Berikut ialah contoh kod HTML:

<!DOCTYPE html>
<html>
<head>
  <title>图片切换效果</title>
  <style>
    .container {
      position: relative;
      width: 500px;
      height: 300px;
      overflow: hidden;
    }
    
    .slide {
      position: absolute;
      display: none;
      width: 100%;
      height: 100%;
    }
  </style>
</head>
<body>
  <div class="container">
    <img class="slide" src="image1.jpg">
    <img class="slide" src="image2.jpg">
    <img class="slide" src="image3.jpg">
  </div>
  
  <script src="main.js"></script>
</body>
</html>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan div bekas yang mengandungi tiga elemen imej, setiap satunya mempunyai kelas "slaid". Antaranya, kelas kontena mentakrifkan gaya bekas, dan kelas slaid mentakrifkan gaya elemen gambar. Dengan menetapkan atribut limpahan bekas kepada tersembunyi, kesan penyembunyian bahagian elemen imej di luar bekas dicapai.

Seterusnya, kita perlu menggunakan JavaScript untuk mencapai penukaran gelongsor ke atas dan ke bawah, penskalaan dan kesan animasi fade-in dan fade-out bagi imej. Berikut ialah contoh kod JavaScript:

window.addEventListener('DOMContentLoaded', function() {
  var slides = document.querySelectorAll('.slide');
  var currentIndex = 0;
  
  function showSlide(index) {
    // 隐藏当前显示的图片
    slides[currentIndex].style.display = 'none';
    
    // 显示指定索引的图片
    slides[index].style.display = 'block';
    
    // 设置当前索引
    currentIndex = index;
  }
  
  function animateSlide(index) {
    var slide = slides[index];
    
    // 先缩小图片
    slide.style.transform = 'scale(0)';
    slide.style.opacity = 0;
    
    // 等缩放动画完成后,再展示出来
    setTimeout(function() {
      slide.style.transition = 'transform 0.5s, opacity 0.5s';
      slide.style.transform = 'scale(1)';
      slide.style.opacity = 1;
    }, 100);
  }
  
  function nextSlide() {
    var nextIndex = currentIndex + 1;
    
    if (nextIndex >= slides.length) {
      nextIndex = 0;
    }
    
    showSlide(nextIndex);
    animateSlide(nextIndex);
  }
  
  // 每隔3秒切换到下一张图片
  setInterval(nextSlide, 3000);
});
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mendapatkan semua elemen imej dengan kelas slaid melalui document.querySelectorAll('.slide') dan simpannya dalam pembolehubah slaid. currentIndex digunakan untuk merekodkan indeks imej yang sedang dipaparkan.

Kemudian fungsi showSlide ditakrifkan untuk memaparkan imej pada indeks yang ditentukan. Dalam fungsi tersebut, kami menetapkan atribut paparan elemen imej yang sedang dipaparkan kepada 'tiada' untuk menyembunyikannya dan menetapkan atribut paparan elemen imej pada indeks yang ditentukan kepada 'sekat' untuk memaparkannya.

Fungsi animateSlide digunakan untuk mencapai kesan zum dan pudar imej. Dalam fungsi, kami mula-mula menetapkan sifat transformasi dan kelegapan elemen imej kepada keadaan berkurangan dan ketelusan 0. Kemudian lengahkan 0.1 saat melalui fungsi setTimeout, dan tetapkan atribut peralihan, transformasi dan kelegapan elemen imej kepada keadaan pembesaran dan ketelusan kepada 1. Disebabkan penetapan atribut peralihan, akan terdapat kesan peralihan semasa proses fade-in dan fade-out.

Akhirnya, penukaran imej dicapai melalui fungsi nextSlide. Dalam fungsi tersebut, kami terlebih dahulu mengira indeks gambar seterusnya, memaparkannya dan menambah kesan animasi melalui fungsi showSlide dan fungsi animateSlide masing-masing.

Dalam acara DOMContentLoaded objek tetingkap, kami melaksanakan operasi di atas. Dan tetapkan pemasa untuk bertukar secara automatik kepada gambar seterusnya setiap 3 saat melalui fungsi setInterval.

Menggabungkan kod HTML dan JavaScript di atas, kami telah mencapai kesan pensuisan gelongsor ke atas dan ke bawah bagi imej, dan menambah kesan animasi zum dan pudar. Dengan cara ini, penukaran gambar dibuat lebih jelas dan menarik, memberikan pengguna pengalaman yang lebih baik dalam menyemak imbas web. Ambil perhatian bahawa laluan imej dalam contoh perlu dilaraskan mengikut situasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan JavaScript untuk mencapai kesan pensuisan gelongsor ke atas dan ke bawah pada imej sambil menambah animasi zum dan pudar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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