728x90
반응형
질문 : 스크롤 후 요소가 보이는지 확인하는 방법은 무엇입니까?
AJAX를 통해 요소를로드하고 있습니다. 일부는 페이지를 아래로 스크롤해야만 볼 수 있습니다. 페이지의 보이는 부분에 요소가 있는지 알 수있는 방법이 있습니까?
답변
이것은 트릭을 수행해야합니다.
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));
}
}
};
var Utils = new Utils();
용법
var isElementInView = Utils.isElementInView($('#flyout-left-container'), false);
if (isElementInView) {
console.log('in view');
} else {
console.log('out of view');
}
출처 : https://stackoverflow.com/questions/487073/how-to-check-if-element-is-visible-after-scrolling
728x90
반응형
'프로그래밍 언어 > HTML,CSS,JS' 카테고리의 다른 글
JavaScript 변수 이름에 유효한 문자 목록 (0) | 2022.01.17 |
---|---|
Javascript에서 배열 시작 부분에 새 배열 요소를 추가하는 방법 (0) | 2022.01.06 |
[Javascript] html 클래스가 포함되어 있는지 확인하는 방법 (0) | 2022.01.06 |
JavaScript에서 HTTP GET 요청 하는 방법 (0) | 2021.12.19 |
단어가 포함되지 않은 줄과 일치하는 정규식 (0) | 2021.12.16 |