스크롤위치
$(window).scrollTop();
문서에서의 요소 위치
$('요소').offset().top
기준에서의 좌우위치
$('요소').position().left
스크롤을 하단으로 내릴때 컨텐츠가 나타나는 이벤트를 제이쿼리로 표현해보자 .
1.요소가 가장 위로 스크롤 되는것을 판단
먼저 스크롤이 찍히는 위치를 파악하기 위해 제이쿼리 콘솔로 찍어보자.
문서전체에서 요소의 위아래 위치 판단
$(function () {
console.log($('.main_about .box').offset().top);
});
offset 메서드 안에 top 속성을 가져와라. (top은 속성이기에 괄호 없음)
문서가장 위에서 요소의 수직위치를 판단
offset 메서드 : 선택한 html 요소의 오프센 좌표를 가져오거나 설정, 특정좌표로 이동 등등
스크롤이기에 좌우는 필요없고 위에서 부터 좌료를 찍기위해 top 사용
$(function () {
// 문서가장 위에서 요소의 수직위치를 판단
$(window)
.on('scroll', function () {
// 스크롤마다 요소의 위치를 가져옴
// 창크기에 따라 요소의 위차가 다르기때문
var posY = $('.main_about .box').offset().top;
var st = $(this).scrollTop();
console.log('스크롤한 위치: ' + st);
console.log('요소의 위치: ' + posY);
})
.trigger('scroll');
});
창을 실행하자마자 콘솔이 보일 수 있게 .trigger('scroll');
if 문으로 값 판단 해보기
$(function () {
// 문서가장 위에서 요소의 수직위치를 판단
$(window)
.on('scroll', function () {
// 스크롤마다 요소의 위치를 가져옴
// 창크기에 따라 요소의 위차가 다르기때문
var posY = $('.main_about .box').offset().top;
var st = $(this).scrollTop();
console.log('스크롤한 위치: ' + st);
console.log('요소의 위치: ' + posY);
if (st >= posY) {
console.log('요소가 화면 가장위까지 스크롤됨');
}
})
.trigger('scroll');
});
요소 2개 판단해보기
요소를 한개 더 만들어 테스트 해보자
html과 변수를 2개씩 만들어 테스트시 요소 1,2 둘다 나옴
$(function () {
// 문서가장 위에서 요소의 수직위치를 판단
$(window)
.on('scroll', function () {
// 스크롤마다 요소의 위치를 가져옴
// 창크기에 따라 요소의 위차가 다르기때문
var posY = $('.main_about .box').offset().top;
var posY2 = $('.main_test .box2').offset().top;
var st = $(this).scrollTop();
if (st >= posY) {
console.log('요소1이 화면위로 스크롤됨');
}
if (st >= posY2) {
console.log('요소2이 화면위로 스크롤됨');
}
})
.trigger('scroll');
});
2.요소가 창아래에서 위로 스크롤 되는 순간 판단
창높이 만큼 빼주기
if 문을 사용하여 창높이만큼 스크롤을 빼주자
$(function () {
$(window)
.on('scroll', function () {
var posY = $('.main_about .box').offset().top;
var posY2 = $('.main_test .box2').offset().top;
var st = $(this).scrollTop();
if (st >= posY2 - $(window).outerHeight()) {
console.log('요소2이 창아래에서 올라오는중');
}
})
.trigger('scroll');
});

문서높이만큼 스크롤
3.문서가장 아래까지 스크롤 판단

스크롤바는 창높이이다
문서의 비례로 줄어든것이라
문서의 높이를 스크롤 높이만큼 빼줘라
요소가 top 보다 크거나 같으면
정리
1.요소가 가장 위로 스크롤 되는것을 판단
$(window).scrollTop() >= 요소.offset().top)
2.요소가 창아래에서 위로 스크롤 되는 순간 판단
if($(window).scrollTop() >= 요소.offset().top) - $(window).outerHeight())
3.문서가장 아래까지 스크롤 판단
if(st >=(document).outerHeight() - $(window).outerHeight())
'jQuery > jQuery 스크롤 애니메이션' 카테고리의 다른 글
스크롤 방향 판단 아이폰 테스트 (0) | 2022.11.16 |
---|---|
스크롤 방향 판단 (0) | 2022.11.16 |
제이쿼리 스크롤+애니메이션 공통클래스로 효과 주기 (0) | 2022.10.28 |
스크롤 애니메이션 AOS 라이브러리 사용해보기 (0) | 2022.10.28 |
제이쿼리 스크롤시 애니메이션 추가 (0) | 2022.10.27 |
댓글