滾動後驗證元素可見性
透過AJAX 動態載入元素時,確保其可見性可能具有挑戰性,特別是如果它們僅在捲動後才可見滾動頁面。本文探討了確定元素在捲動後是否位於頁面可見部分內的方法。
解決方案:JavaScript 可見性檢查
要驗證元素可見性,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)); }
此函數將一個元素作為輸入並傳回一個布林值,指示該元素是否可見。
增強實用函數
要獲得更通用的方法,請考慮以下實用程式函數:
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)); } } };
此函數接受兩個參數:一個元素和一個可選標誌,指示該元素是否應該完全或部分可見。
用法
要使用該函數,只需建立Utils 類別的實例並使用所需的元素和可選參數呼叫isElementInView 方法旗幟:
var Utils = new Utils(); var isElementInView = Utils.isElementInView($('#flyout-left-container'), false); if (isElementInView) { console.log('in view'); } else { console.log('out of view'); }
以上是如何使用 JavaScript 驗證頁面捲動後元素是否可見?的詳細內容。更多資訊請關注PHP中文網其他相關文章!