Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Semak jika Elemen Dimuatkan Secara Dinamik Kelihatan Selepas Menatal?
Pernyataan Masalah:
Apabila memuatkan elemen secara dinamik melalui AJAX, ia boleh mencabar untuk menentukan sama ada ia muncul dalam kawasan halaman yang boleh dilihat, terutamanya jika halaman memerlukan menatal.
Penyelesaian:
Untuk menentukan keterlihatan elemen selepas menatal, kita boleh memanfaatkan fungsi JavaScript yang dipanggil isScrolledIntoView():
function isScrolledIntoView(elem) { var docViewTop = $(window).scrollTop(); var docViewBottom = docViewTop + $(window).height(); var elemTop = $(elem).offset().top; var elemBottom = elemTop + $(elem).height(); return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop)); }
Pendekatan Alternatif:
Utiliti alternatif fungsi, Utils.isElementInView(), menyediakan kedua-dua pilihan fullyInView dan partiallyInView:
function Utils() {} Utils.prototype = { constructor: Utils, isElementInView: function(element, fullyInView) { var pageTop = $(window).scrollTop(); var pageBottom = pageTop + $(window).height(); var elementTop = $(element).offset().top; var elementBottom = elementTop + $(element).height(); if (fullyInView === true) { return ((pageTop < elementTop) && (pageBottom > elementBottom)); } else { return ((elementTop <= pageBottom) && (elementBottom >= pageTop)); } } }; var Utils = new Utils();
Penggunaan:
var isElementInView = Utils.isElementInView($('#flyout-left-container'), false); if (isElementInView) { console.log('in view'); } else { console.log('out of view'); }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak jika Elemen Dimuatkan Secara Dinamik Kelihatan Selepas Menatal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!