Rumah > hujung hadapan web > tutorial js > Cara menggunakan HTML, CSS dan jQuery untuk melaksanakan teknik lanjutan untuk memuatkan imej yang malas

Cara menggunakan HTML, CSS dan jQuery untuk melaksanakan teknik lanjutan untuk memuatkan imej yang malas

WBOY
Lepaskan: 2023-10-28 08:25:55
asal
1319 orang telah melayarinya

Cara menggunakan HTML, CSS dan jQuery untuk melaksanakan teknik lanjutan untuk memuatkan imej yang malas

Cara menggunakan HTML, CSS dan jQuery untuk melaksanakan teknik lanjutan untuk memuatkan imej yang malas

Lazy Loading ialah penambahbaikan Cara teknikal web prestasi halaman, terutamanya sesuai untuk halaman web yang mengandungi sejumlah besar imej. Dengan menggunakan HTML, CSS dan jQuery, kami boleh dengan mudah melaksanakan pemuatan malas imej untuk mempercepatkan pemuatan halaman web dan meningkatkan pengalaman pengguna. Artikel ini akan memperkenalkan cara menggunakan ketiga-tiga teknologi ini untuk melaksanakan teknik lanjutan untuk memuatkan imej yang malas, dan memberikan contoh kod khusus.

1. Penyediaan HTML
Dalam HTML, kita perlu menggantikan atribut src setiap imej yang perlu dimuatkan secara malas dengan atribut data-src tersuai. Pada masa yang sama, untuk mencapai kesan pemuatan progresif imej, kami boleh menetapkan ruang letak.

<img data-src="path/to/image.jpg" src="path/to/placeholder.jpg" alt="image">
Salin selepas log masuk

2. Tetapan gaya CSS
Untuk mengekalkan paparan imej pemegang tempat sebelum imej dimuatkan, kita perlu menggunakan CSS untuk menetapkan elemen img. Pada masa yang sama, untuk mencapai kesan pemuatan progresif, kita juga boleh menetapkan kesan peralihan.

img {
  width: 100%;
  height: auto;
  max-width: 100%;
  opacity: 0;
  transition: opacity 0.3s ease-in;
}
img.loaded {
  opacity: 1;
}
Salin selepas log masuk

3 Melaksanakan pemuatan malas dengan jQuery
Sangat mudah untuk melaksanakan pemuatan malas menggunakan jQuery. Kita boleh menggunakan acara $(window).on('scroll', function(){}) untuk mendengar acara menatal dan mencetuskan pemuatan malas dengan menentukan sama ada imej itu boleh dilihat.

$(window).on('scroll', function() {
  $('img').each(function() {
    if (isElementInViewport($(this)) && !$(this).hasClass('loaded')) {
      $(this).attr('src', $(this).data('src')).addClass('loaded');
    }
  });
});
function isElementInViewport(el) {
  var rect = el.get(0).getBoundingClientRect();
  return (
    rect.top >= 0 &&
    rect.left >= 0 &&
    rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
    rect.right <= (window.innerWidth || document.documentElement.clientWidth)
  );
}
Salin selepas log masuk

Kod di atas akan mendengar acara tatal dan menilai setiap elemen img Jika elemen berada dalam kawasan yang boleh dilihat dan belum dimuatkan, nilai atribut data-src akan diberikan kepada. src. Dan tambahkan nama kelas yang dimuatkan untuk menandakan dimuatkan.

4. Pemuatan serpihan dan pengoptimuman prestasi
Untuk meningkatkan lagi prestasi, kami boleh membahagikan imej kepada berbilang serpihan untuk dimuatkan dan bukannya memuatkan semua imej sekaligus. Ini boleh mengelakkan masalah prestasi yang disebabkan oleh halaman meminta sejumlah besar imej sekaligus.

$(window).on('scroll', function() {
  var windowHeight = $(window).height();
  var scrollTop = $(window).scrollTop();
  $('img:not(.loaded)').each(function() {
    if (isElementInViewport($(this), windowHeight, scrollTop)) {
      $(this).attr('src', $(this).data('src')).addClass('loaded');
    }
  });
});
function isElementInViewport(el, windowHeight, scrollTop) {
  var rect = el.get(0).getBoundingClientRect();
  return (
    rect.top >= (scrollTop - windowHeight) &&
    rect.top <= (scrollTop + windowHeight * 2)
  );
}
Salin selepas log masuk

Dalam kod di atas, kami menentukan sama ada setiap gambar berada dalam kawasan yang boleh dilihat dengan mendapatkan ketinggian tetingkap dan kedudukan bar skrol. Hanya imej dalam kawasan yang boleh dilihat akan dimuatkan.

Ringkasnya, dengan menggunakan HTML, CSS dan jQuery, kami boleh dengan mudah melaksanakan teknik lanjutan pemuatan malas imej dan meningkatkan kelajuan pemuatan dan pengalaman pengguna halaman web. Dengan menetapkan atribut data-src tersuai, gaya CSS dan pendengar acara jQuery, serta menggabungkan pemuatan serpihan dan pengoptimuman prestasi, kami boleh mengawal tingkah laku pemuatan imej dengan lebih fleksibel dan meningkatkan pengalaman pengguna dan prestasi halaman. Saya harap contoh kod yang disediakan dalam artikel ini berguna!

Atas ialah kandungan terperinci Cara menggunakan HTML, CSS dan jQuery untuk melaksanakan teknik lanjutan untuk memuatkan imej yang malas. 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