问题陈述:
通过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 和 PartialInView 选项:
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中文网其他相关文章!