
스크롤 후 요소 가시성 감지
AJAX를 사용하여 동적으로 로드된 요소의 경우 뷰포트 내 가시성을 결정하는 것이 중요할 수 있습니다. 이는 특히 스크롤 후에 나타나는 요소와 관련이 있습니다. 이 문제를 해결하는 효과적인 방법은 다음과 같습니다.
사용자 정의 함수 사용:
다음 함수는 요소가 현재 뷰포트 내에 표시되는지 여부를 확인합니다.
1 2 3 4 5 6 7 8 9 | 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));
}
|
로그인 후 복사
유틸리티 활용하기 기능:
더 다양한 옵션은 사용자 정의를 제공하는 유틸리티 기능을 사용하는 것입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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();
|
로그인 후 복사
사용:
결정하려면 요소가 표시되면 다음 함수를 호출하면 됩니다.
1 2 3 4 5 6 7 | var isElementInView = Utils.isElementInView($( '#flyout-left-container' ), false);
if (isElementInView) {
console.log( 'in view' );
} else {
console.log( 'out of view' );
}
|
로그인 후 복사
이 메소드를 구현하면 동적으로 로드된 요소의 가시성을 쉽게 감지하여 최적화된 페이지 상호 작용 및 사용자 경험을 가능하게 합니다.
위 내용은 스크롤 후 동적으로 로드된 요소가 표시되는지 어떻게 감지할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!