問題陳述:
透過AJAX動態載入元素時,可以確定它們是否出現在頁面的可見區域內具有挑戰性,特別是如果頁面需要
解決方案:
要確定滾動後元素的可見性,我們可以利用名為isScrolledIntoView() 的 JavaScript 函數:
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)); }
替代方案方法:
另一個實用函數 Utils.isElementInView(),提供了 fullInView 和 Partial選項:
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();
用法:
var isElementInView = Utils.isElementInView($('#flyout-left-container'), false); if (isElementInView) { console.log('in view'); } else { console.log('out of view'); }
以上是如何檢查動態載入的元素在捲動後是否可見?的詳細內容。更多資訊請關注PHP中文網其他相關文章!