Bagaimana untuk Semak sama ada Elemen Kelihatan dalam Viewport Penyemak Imbas dengan JQuery?

Patricia Arquette
Lepaskan: 2024-10-25 04:07:29
asal
477 orang telah melayarinya

How to Check if an Element is Visible in the Browser Viewport with JQuery?

JQuery Semak sama ada Elemen Kelihatan dalam Viewport: Penjelasan Komprehensif

Menentukan sama ada elemen boleh dilihat dalam viewport penyemak imbas ialah tugas biasa dalam pembangunan frontend. JQuery menyediakan cara yang mudah untuk mencapainya dengan bantuan pemalam atau fungsi tersuai.

Menggunakan Pemalam

Pemalam yang kelihatan JQuery menawarkan cara yang mudah untuk menyemak keterlihatan daripada sesuatu unsur. Walau bagaimanapun, anda mungkin menghadapi kesukaran dalam melaksanakannya dengan fungsi yang disediakan. Berikut ialah contoh yang akan berfungsi dengan pemalam yang kelihatan:

$('#element').visible(function() {
  // This function will be executed when the element is visible
});
Salin selepas log masuk

Membangunkan Fungsi Tersuai

Jika anda memilih untuk tidak menggunakan pemalam, anda boleh membuat tersuai fungsi untuk menyemak keterlihatan:

$.fn.isInViewport = function() {
  var elementTop = $(this).offset().top;
  var elementBottom = elementTop + $(this).outerHeight();

  var viewportTop = $(window).scrollTop();
  var viewportBottom = viewportTop + $(window).height();

  return elementBottom > viewportTop && elementTop < viewportBottom;
};
Salin selepas log masuk

Contoh Penggunaan

Setelah anda menentukan fungsi isInViewport, anda boleh menggunakannya seperti berikut:

$(window).on('resize scroll', function() {
  if ($('#element').isInViewport()) {
    // The element is visible
  } else {
    // The element is not visible
  }
});
Salin selepas log masuk

Penghadan

Perhatikan bahawa fungsi ini hanya menyemak keterlihatan menegak. Jika anda perlu menentukan keterlihatan mendatar juga, anda boleh melanjutkan fungsi tersebut dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimana untuk Semak sama ada Elemen Kelihatan dalam Viewport Penyemak Imbas dengan JQuery?. 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
Artikel terbaru oleh pengarang
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!