jQuery
[ jQuery ] Masonry 플러그인하여 박스 애니메이션 효과 주기
dauneee
2022. 2. 23. 17:35
1) Masonry 접속하여 원하는 레이아웃 선택하기
Masonry · Options
Options All options are optional, but columnWidth and itemSelector are recommended. $('.grid').masonry({ columnWidth: 200, itemSelector: '.grid-item' }); var msnry = new Masonry( '.grid', { columnWidth: 200, itemSelector: '.grid-item' }); Recommended itemS
masonry.desandro.com
2) jquery와 Masonry 연결하기
<!-- jquery 연결 -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"></script>
<!-- masonry 연결 -->
<script src="http://masonry.desandro.com/masonry.pkgd.min.js"></script>
3) Java Script 작성하기
<script>
$(document).ready(function() {
for (var i = 0; i < 100; i++) {
if (i % 2 == 0) {
$('<div></div>').addClass('box').css({
width : 100,
height : Math.floor(Math.random() * 100) + 50
}).appendTo('body');
} else {
$('<div></div>').addClass('box2').css({
width : 100,
height : Math.floor(Math.random() * 100) + 50
}).appendTo('body');
}
}
$('body').masonry({
transitionDuration : '3s'
});
});
</script>
4) 박스 CSS 적용하기
<style>
* {
margin: 0;
padding: 0;
}
.box {
background: lightblue;
margin: 5px;
}
.box2 {
background: lightpink;
margin: 5px;
}
</style>
< 전체 코드 >
<!DOCTYPE html>
<html lang="ko">
<head>
<title>Masonry 플러그인</title>
<style>
* {
margin: 0;
padding: 0;
}
.box {
background: lightblue;
margin: 5px;
}
.box2 {
background: lightpink;
margin: 5px;
}
</style>
<!-- jquery 연결 -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"></script>
<!-- masonry 연결 -->
<script src="http://masonry.desandro.com/masonry.pkgd.min.js"></script>
<script>
$(document).ready(function() {
for (var i = 0; i < 100; i++) {
if (i % 2 == 0) {
$('<div></div>').addClass('box').css({
width : 100,
height : Math.floor(Math.random() * 100) + 50
}).appendTo('body');
} else {
$('<div></div>').addClass('box2').css({
width : 100,
height : Math.floor(Math.random() * 100) + 50
}).appendTo('body');
}
}
$('body').masonry({
transitionDuration : '3s'
});
});
</script>
</head>
<body>
</body>
</html>