반응형
안녕하세요. 오늘은 풀페이지 스크롤 이벤트 소스를 공유해드리겠습니다.
fullPage.js를 통해 간단하게 구현이 가능하지만, 유료 라이센스입니다.
그럼 fullPage.js를 대체할 소스를 알려드리겠습니다.
[HTML]
<div>Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
<div>Item 4</div>
[CSS]
div {
position: relative;
height: 100vh;
width: 100%;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
}
div:nth-child(1){background: red}
div:nth-child(2){background: yellow}
div:nth-child(3){background: green}
div:nth-child(4){background: #ddd}
[JS]
$(function() {
var divs = $('div');
var div = 0;
div = -1
divs.each(function(i) {
if (div < 0 && ($(this).offset().top >= $(window).scrollTop())) {
div = i;
}
});
$(window).on('mousewheel DOMMouseScroll', function(e) {
if (e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {
if (div > 0) {
div--;
}
} else {
if (div < divs.length) {
div++;
}
}
$('html,body').stop().animate({
scrollTop: divs.eq(div).offset().top
}, 200);
return false;
});
$(window).resize(function() {
$('html,body').scrollTop(divs.eq(div).offset().top);
});
});
-참조
반응형
'Web > jquery' 카테고리의 다른 글
[jQuery] jQuery css 변경하는 방법 (여러개 예제) (0) | 2023.03.16 |
---|---|
[jquery] 반응형 해상도에 따라 스크립트 실행하기 (0) | 2023.03.14 |
[jQuery] swiper slider 사용법(반응형), 옵션 (0) | 2023.03.13 |
[jQuery] $ is not defined, jQuery is not defined 오류 해결방법 (0) | 2023.03.13 |
[jQuery] 외부영역 클릭시 div 숨기기 (0) | 2023.03.13 |