티스토리 뷰
jQuery 는 JS보다 좀 더 다양한 시각적 효과들을 좀 더 쉬운 방법으로 사용이 가능하다.
대표적으로 쓰이는 몇 가지 효과를 예제와 함께 알아보도록 하자
1. show & hide : show(), hide() 함수를 이용하면, 특정 요소를 보이거나 숨길 수 있으며, 괄호 내에 "slow", "fast", "수치" 등을 입력하여 show & hide 속도를 조절할 수 있다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>서서히 보이기 및 숨기기</title>
<style type="text/css">
#my .hover {
cursor: pointer;
background-color: Yellow;
}
</style>
<script src="jquery-1.6.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
// 보여질 요소.show()
// 감춰질 요소.hide()
$('.region').show();
$('#moreRegion').hide();
$('span.more').click(function() {
$('#moreRegion').show('slow'); // 속도: 1000 = 1초
});
});
</script>
</head>
<body>
<div class="region" style="display: none;">
안녕하세요. 여기는 본문입니다. <span class="more">more...</span>
</div>
<div id="moreRegion" style="height: 100px; background-color: Yellow;">
또 만나요
</div>
</body>
</html>
2. fadeIn() & fadeOut(): 서서히 나타내기 & 서서히 사라지기
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>서서히 보이기 및 숨기기</title>
<style type="text/css">
#my .hover {
cursor: pointer;
background-color: Yellow;
}
div {
background-color: Silver;
height: 100px;
}
</style>
<script src="jquery-1.6.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#btn').click(function() {
$('#first').fadeIn(3000);
$('#second').fadeOut(3000);
})
});
</script>
</head>
<body>
<input type="button" id="btn" value="페이드 효과 주기" />
<div id="first" style="display: none; background-color: Yellow;">
첫번째 영역
</div>
<div id="second">또 만나요</div>
</body>
</html>
3. slideUp: 말 그대로 슬라이드하며 올라오거나 내려감
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>슬라이드업</title>
<style type="text/css">
#my .hover {
cursor: pointer;
background-color: Yellow;
}
</style>
<script src="jquery-1.6.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#btn').click(function() {
$('#first').fadeIn('slow').slideUp('slow');
})
});
</script>
</head>
<body>
<input type="button" id="btn" value="슬라이드 업" />
<div id="first" style="display: none; background-color: Yellow; height: 100px;">
첫번째 영역
</div>
<div id="second">두번째 영역</div>
</body>
</html>
4. animate() : 여러가지 효과를 동시에 map 형태로 적용 가능
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>여러가지 효과 동시 처리</title>
<style type="text/css">
#my .hover {
cursor: pointer;
background-color: Yellow;
}
</style>
<script src="jquery-1.6.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
//animate() : 여러가지 효과를 동시에 적용할 때, 맵 형태로 값을 설정
// 적용 대상.animate({ }, 시간)
$('#moreRegion').hide();
$('span.more').click(function() {
$('#moreRegion').animate(
{
height:'200px',
width:'200px',
opacity:'show'
}, 'slow'
)
});
});
</script>
</head>
<body>
<div class="region">
안녕하세요. 여기는 본문입니다. <span class="more">more...</span>
</div>
<div id="moreRegion" style="height: 100px; background-color: Yellow;">
또 만나요
</div>
</body>
</html>
5. stop(): animate() 함수를 일시 정지
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>애니메이션 효과 멈추기</title>
<style type="text/css">
div {
position: absolute;
background-color: #abc;
left: 0px;
top: 50px;
width: 60px;
height: 60px;
margin: 5px;
}
</style>
<script src="jquery-1.6.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#go').click(function() {
$('.block').animate(
{
left: '+=100px',
top: '+=100px'
}, 2000
);
});
$('#stop').click(function() {
$('.block').stop();
});
$('#back').click(function() {
$('.block').animate(
{
left: '-=100px',
top: '-100px'
}, 2000
);
});
});
</script>
</head>
<body>
<button id="go">Go</button>
<button id="stop">STOP!</button>
<button id="back">Back</button>
<div class="block"></div>
</body>
</html>
6. 메뉴 확장 예제
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.menu {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background-color: #DDD;
}
.menu>div {
padding: 2%;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
// JavaScript 함수 선언
function showSubMenu(strId) {
var lySubMenu = $(strId);
if(lySubMenu.first().is(":hidden")){
$(strId).slideDown(300);
} else {
$(strId).slideUp(300);
}
}
$(document).ready(function() {
$('.menu_2').hide();
});
</script>
</head>
<body>
<div class="menu">
<div>
메뉴 1
<button onclick="showSubMenu('#sub1')"> + </button>
<div class="menu_2" id="sub1">
<div>메뉴 1-1</div>
<div>메뉴 1-2</div>
</div>
</div>
<div>메뉴 2</div>
</div>
</body>
</html>
반응형
'WEB > jQuery' 카테고리의 다른 글
[jQuery] 비동기식 페이지 로드, load() (0) | 2021.06.07 |
---|---|
[jQuery] 동적으로 요소 추가 (0) | 2021.06.07 |
[jQuery] Traversing (0) | 2021.06.07 |
[jQuery] bind & unbind (0) | 2021.06.07 |
[jQuery] 다양한 Selector 이용 (0) | 2021.06.07 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- 파니노구스토
- Async
- 인천 구월동 이탈리안 맛집
- Promise
- javascript
- redux
- 이탈리안 레스토랑
- 정보보안기사 #실기 #정리
- 인천 구월동 맛집
- AsyncStorage
- react
- 맛집
- await
- react-native
- redux-thunk
- Total
- Today
- Yesterday