Skills/JavaScript
221121 full_pageanimate.html
개발자 윤구나
2022. 11. 21. 11:17
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>full_pageanimate</title>
<script src="https://code.jquery.com/jquery-3.6.1.min.js"></script>
<script src="./js/jquery.mousewheel.min.js"></script>
<script>
$(function () {
$("section").mousewheel(function (e, delta) {
if (delta > 0) {
let prev = $(this).prev().offset().top;
$("html, body").stop().animate({ scrollTop: prev }, 1000);
} else if (delta < 0) {
let next = $(this).next().offset().top;
$("html, body").stop().animate({ scrollTop: next }, 1000);
}
});
$(window).scroll(function () {
if ($(this).scrollTop() == $(".page02").offset().top) {
$(".page02-1").fadeIn(500);
$(".page02-2").delay(500).fadeIn(500);
$(".page02-3").delay(1000).fadeIn(500);
} else {
$(".page02 .sub_box div").fadeOut();
}
if ($(this).scrollTop() == $(".page03").offset().top) {
$(".page03-1").animate({ top: 0 }, 500);
$(".page03-2").delay(500).animate({ top: 0 }, 500);
$(".page03-3").delay(1000).animate({ top: 0 }, 500);
}
});
});
</script>
<style>
* {
margin: 0;
padding: 0;
}
/*-------- layout --------*/
.wrap section {
width: 100%;
height: 100vh;
border: 1px solid black;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
}
.wrap section .sub_box {
width: 940px;
height: 300px;
border: 1px solid black;
overflow: hidden;
}
.wrap .page02 .sub_box div {
width: 300px;
height: 300px;
background-color: #ccc;
float: left;
}
.wrap .page02 .sub_box div:nth-child(2) {
margin: 0 20px;
}
.wrap .page03 .sub_box div {
width: 300px;
height: 300px;
background-color: #ccc;
}
/*-------- animation --------*/
.wrap .page01 .sub_box {
background-color: #ccc;
text-align: center;
line-height: 300px;
opacity: 1;
animation: intro;
animation-duration: 3s;
}
@keyframes intro {
0% {
opacity: 0;
}
10% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.wrap .page02 .sub_box div {
display: none;
}
.wrap .page03 .sub_box {
position: relative;
}
.wrap .page03 .sub_box div {
position: absolute;
top: 300px;
}
.wrap .page03 .sub_box .page03-1 {
left: 0;
}
.wrap .page03 .sub_box .page03-2 {
left: 320px;
}
.wrap .page03 .sub_box .page03-3 {
left: 640px;
}
</style>
</head>
<body>
<div class="wrap">
<section class="page01 intro">
<div class="sub_box">
<h1>Intro</h1>
</div>
</section>
<section class="page02">
<div class="sub_box">
<div class="page02-1">page02-1</div>
<!--경력사항-->
<div class="page02-2">page02-2</div>
<!--학력-->
<div class="page02-3">page02-3</div>
<!--스킬-->
</div>
</section>
<section class="page03">
<div class="sub_box">
<div class="page03-1">page03-1</div>
<div class="page03-2">page03-2</div>
<div class="page03-3">page03-3</div>
</div>
</section>
</div>
</body>
</html>