Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid

王林
Lepaskan: 2023-11-04 08:59:17
asal
1482 orang telah melayarinya

Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid

JavaScript ialah bahasa skrip yang boleh digunakan untuk menambah kesan interaktif pada halaman web. Antaranya, kesan karusel imej dan tayangan slaid ialah kesan animasi halaman web yang biasa Artikel ini akan memperkenalkan cara menggunakan fungsi JavaScript untuk mencapai kedua-dua kesan ini dan memberikan contoh kod tertentu.

  1. Karusel gambar

Karusel gambar ialah kesan yang memutarkan berbilang gambar dengan cara tertentu. Apabila melaksanakan karusel imej, pemasa JavaScript dan kawalan gaya CSS perlu digunakan.

(1) Penyediaan

Pertama, dalam fail HTML, anda perlu menentukan bekas div untuk memaparkan imej karusel. Kita boleh menentukan elemen ul lain untuk menyimpan semua imej yang perlu diputar. Setiap elemen li mengandungi imej.

<div id="slider">
  <ul>
    <li><img  src="img1.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" ></li>
    <li><img  src="img2.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" ></li>
    <li><img  src="img3.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" ></li>
    <li><img  src="img4.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" ></li>
  </ul>
</div>
Salin selepas log masuk

Dalam fail CSS, beberapa penggayaan perlu dilakukan pada elemen ini. Sebagai contoh, tetapkan lebar dan ketinggian bekas div kepada saiz sebenar imej dan tetapkan atribut limpahan kepada tersembunyi, supaya bahagian di luar bekas boleh disembunyikan. Pada masa yang sama, tetapkan lebar elemen ul kepada jumlah lebar semua imej, dan tetapkan ketinggian kepada ketinggian sebenar imej.

#slider {
  width: 600px;
  height: 400px;
  overflow: hidden;
  position: relative;
}

#slider ul {
  width: 2400px; /* 4张图片的宽度之和 */
  height: 400px;
  position: absolute;
  left: 0;
}
Salin selepas log masuk

(2) Pelaksanaan karusel

Seterusnya, kita perlu menggunakan fungsi JavaScript untuk mencapai kesan karusel. Proses pelaksanaan khusus adalah seperti berikut:

① Tentukan indeks pembolehubah untuk merekodkan nombor siri gambar yang sedang dipaparkan.

var index = 0;
Salin selepas log masuk

② Tulis fungsi karusel untuk menukar gambar pada selang waktu tertentu dan mengemas kini nilai pembolehubah indeks. Dalam fungsi ini, nilai kiri elemen ul perlu ditetapkan kepada nombor berlawanan (nombor negatif) lebar imej semasa, supaya kesan karusel boleh dicapai.

function slide() {
  index++;
  if (index >= 4) {  // 图片总数为4,如果index超过4,就将其重置为0
    index = 0;
  }
  var leftVal = -index * 600 + "px";  // 每次切换,将ul元素的left值设置为当前图片的宽度的相反数
  $("#slider ul").stop().animate({left: leftVal}, 500);  // 使用jQuery的animate方法实现滑动效果
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah animate() dalam perpustakaan jQuery, yang boleh digunakan untuk mencapai kesan animasi. Kaedah animate() menerima dua parameter Parameter pertama ialah objek yang digunakan untuk menetapkan sifat CSS dan nilai animasi Di sini kita menetapkan atribut kiri bagi elemen ul tentukan masa animasi, dalam milisaat.

③ Panggil fungsi karusel dan gunakan kaedah setInterval() untuk melaksanakannya dengan kerap.

setInterval(slide, 2000);
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah setInterval(), yang boleh digunakan untuk melaksanakan kod yang ditentukan dengan kerap. Parameter pertama ialah nama fungsi yang akan dilaksanakan secara tetap, dan parameter kedua ialah selang masa dalam milisaat.

Akhir sekali, kod pelaksanaan keseluruhan karusel imej adalah seperti berikut:

<!DOCTYPE html>
<html>
<head>
  <title>图片轮播</title>
  <meta charset="utf-8">
  <style>
    #slider {
      width: 600px;
      height: 400px;
      overflow: hidden;
      position: relative;
    }

    #slider ul {
      width: 2400px;
      height: 400px;
      position: absolute;
      left: 0;
    }

    #slider ul li {
      float: left;
    }
  </style>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script>
    $(function () {
      var index = 0;

      function slide() {
        index++;
        if (index >= 4) {
          index = 0;
        }
        var leftVal = -index * 600 + "px";
        $("#slider ul").stop().animate({left: leftVal}, 500);
      }

      setInterval(slide, 2000);
    })
  </script>
</head>
<body>
  <div id="slider">
    <ul>
      <li><img  src="img1.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" ></li>
      <li><img  src="img2.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" ></li>
      <li><img  src="img3.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" ></li>
      <li><img  src="img4.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" ></li>
    </ul>
  </div>
</body>
</html>
Salin selepas log masuk
  1. kesan tayangan slaid
  2. #🎜🎜🎜##🎜 Kesan filem ialah kesan yang menukar berbilang gambar dalam susunan tertentu. Apabila melaksanakan kesan slaid, pendengaran acara JavaScript dan kawalan gaya CSS diperlukan.

(1) Penyediaan

Begitu juga, dalam fail HTML, bekas div perlu ditakrifkan untuk memaparkan slaid. Kita boleh mentakrifkan berbilang elemen img, setiap elemen img mengandungi gambar.

<div id="slideshow">
  <img  src="img1.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" >
  <img  src="img2.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" >
  <img  src="img3.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" >
  <img  src="img4.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" >
</div>
Salin selepas log masuk

Dalam fail CSS, kita perlu menggayakan elemen ini. Sebagai contoh, tetapkan lebar dan tinggi bekas div kepada saiz sebenar imej, dan tetapkan atribut limpahan kepada tersembunyi; imej pertama Ketelusan imej ditetapkan kepada 0.

#slideshow {
  width: 600px;
  height: 400px;
  overflow: hidden;
  position: relative;
}

#slideshow img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

#slideshow img:first-child {
  opacity: 1;
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan :first-child pseudo-class untuk menetapkan ketelusan imej pertama kepada 1.

(2) Pelaksanaan tayangan slaid

Seterusnya, kita perlu menggunakan fungsi JavaScript untuk mencapai kesan tayangan slaid. Proses khusus adalah seperti berikut:

① Tentukan indeks pembolehubah untuk merekodkan nombor siri gambar yang sedang dipaparkan.

var index = 1;
Salin selepas log masuk

② Tulis fungsi untuk menukar gambar dan mengemas kini nilai pembolehubah indeks. Dalam fungsi ini, kami mula-mula menetapkan ketelusan imej yang dipaparkan pada masa ini kepada 0, kemudian menambah 1 pada nilai pembolehubah indeks, dan menentukan sama ada jumlah bilangan imej melebihi. Jika melebihi, tetapkan semula kepada 1. Kemudian tetapkan ketelusan imej seterusnya kepada 1 dan hidupkan ia.

function show() {
  $("#slideshow img:nth-child(" + index + ")").stop().animate({opacity: 0}, 1000); // 当前图片透明度减少
  index++;
  if (index > 4) {
    index = 1;
  }
  $("#slideshow img:nth-child(" + index + ")").stop().animate({opacity: 1}, 1000); // 下一张图片透明度增加
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan pemilih :nth-child, yang boleh memilih elemen anak di bawah elemen induk yang ditentukan. Dalam contoh ini, kami menggunakan pemilih ini untuk memilih imej indeks.

③ Gunakan kaedah setInterval() untuk melaksanakan fungsi pertunjukan dengan kerap.

$(function () {
  setInterval(show, 3000);
})
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah $() dan kaedah setInterval() pustaka jQuery untuk melaksanakan panggilan berjadual. Kaedah $() digunakan untuk mendapatkan elemen yang ditentukan, dan kaedah setInterval() boleh memanggil fungsi yang ditentukan secara berkala.

Akhir sekali, kod pelaksanaan keseluruhan kesan slaid adalah seperti berikut:

<!DOCTYPE html>
<html>
<head>
  <title>幻灯片效果</title>
  <meta charset="utf-8">
  <style>
    #slideshow {
      width: 600px;
      height: 400px;
      overflow: hidden;
      position: relative;
    }

    #slideshow img {
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
    }

    #slideshow img:first-child {
      opacity: 1;
    }
  </style>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script>
    $(function () {
      var index = 1;

      function show() {
        $("#slideshow img:nth-child(" + index + ")").stop().animate({opacity: 0}, 1000);
        index++;
        if (index > 4) {
          index = 1;
        }
        $("#slideshow img:nth-child(" + index + ")").stop().animate({opacity: 1}, 1000);
      }

      setInterval(show, 3000);
    })
  </script>
</head>
<body>
  <div id="slideshow">
    <img  src="img1.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" >
    <img  src="img2.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" >
    <img  src="img3.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" >
    <img  src="img4.jpg" alt="Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid" >
  </div>
</body>
</html>
Salin selepas log masuk

Melalui contoh kod di atas, kami telah melaksanakan penggunaan fungsi JavaScript untuk melaksanakan karusel imej dan kesan slaid, dan memperkenalkan proses pelaksanaan khusus. Teknologi ini sangat membantu untuk meningkatkan interaksi halaman web dan kesan animasi Pembaca boleh mengubah suai dan mengoptimumkan mengikut keperluan sebenar dan terus meningkatkan keupayaan pembangunan mereka.

Atas ialah kandungan terperinci Gunakan fungsi JavaScript untuk melaksanakan karusel imej dan kesan tayangan slaid. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!