실무에서 많이 쓰는 이벤트 애니메이션
- gsab
- wowjs
- aos
- cdn, js 소스 가져오면 됨
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/4.1.4/imagesloaded.pkgd.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.20/lodash.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.2.19/tailwind.min.css">
<link rel="stylesheet" href="index.css">
<script defer src="index.js"></script>
<div class="section-1-loading"></div>
<section class="section-1">
<div class="container mx-auto masonry-grid">
<div class="grid-item">
<a href="#">
<img src="https://picsum.photos/id/237/236/300" alt="">
</a>
<a href="#">
제목1
</a>
</div>
<div class="grid-item">
<a href="#">
<img src="https://picsum.photos/id/287/236/410" alt="">
</a>
<a href="#">
제목2
</a>
</div>
<div class="grid-item">
<a href="#">
<img src="https://picsum.photos/id/247/236/500" alt="">
</a>
<a href="#">
제목3
</a>
</div>
<div class="grid-item">
<a href="#">
<img src="https://picsum.photos/id/217/236/460" alt="">
</a>
<a href="#">
제목4
</a>
</div>
<div class="grid-item">
<a href="#">
<img src="https://picsum.photos/id/267/236/300" alt="">
</a>
<a href="#">
제목5
</a>
</div>
</div>
</section>
.section-1-loading {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: white;
z-index: 10;
display: flex;
justify-content: center;
align-items: center;
}
.section-1-loading::after {
content: "로딩중...";
}
.section-1 .grid-item {
padding:10px;
}
.section-1 .grid-item > a {
display:block;
}
.section-1 .grid-item > a > img {
display:block;
width:100%;
border-radius : 15px;
}
@media ( min-width:1600px ) {
.section-1 .grid-item {
width: calc(100% / 5);
}
}
@media ( max-width:1599px ) and ( min-width:1200px ) {
.section-1 .grid-item {
width: calc(100% / 4);
}
}
@media ( max-width:1199px ) and ( min-width:800px ) {
.section-1 .grid-item {
width: calc(100% / 3);
}
}
@media ( max-width:799px ) and ( min-width:600px ) {
.section-1 .grid-item {
width: calc(100% / 2);
}
}
@media ( max-width:599px ) {
.section-1 .grid-item {
width: calc(100% / 1);
}
}
console.clear();
var $window = $(window);
var $html = $('html');
var PageLayout__ani1Delay = 500;
function PageLayout__init() {
$('.section-1').imagesLoaded(function() {
setTimeout(function() {
$('.section-1-loading').remove();
}, PageLayout__ani1Delay + 300);
$('.section-1 .masonry-grid').masonry({
itemSelector: '.grid-item'
});
$window.resize(_.debounce(function() {
console.log('hi');
$('.section-1 .masonry-grid').masonry('layout');
}, PageLayout__ani1Delay + 200));
});
}
$(function() {
PageLayout__init();
});