happy cat image

everdevel

Make It Yours, 에버디벨

UI 변경

EEOS

에버디벨 책을 학습할 수 있는 클라우드 개발 환경을 제공합니다.
개발환경구축없이 태블릿에서도 개발할 수 있는 책의 예제와 프로젝트
오직 당신을 위한 스토리지, URL, DB, 무제한 트래픽
그리고 웹기반 개발환경을 제공합니다.

더 알아보기

웹애플리케이션을 만들고 싶은데 이것도 알아야 하고
저것도 알아야 한다는데 어떻게 해야할지 모르겠다면

웹프로그래밍 초보자를 넘어 프로그래밍을 처음 접하는 분들을 위해
에버디벨이 1년넘게 작업한

HTML5 + CSS3 + jQuery + MySQL + PHP

한권으로 배우는 웹코딩 시작하기

애니메이션 효과

animate()

이번 시간에는 요소를 이동 시켜보는 것을 연습해 보겠습니다.

위에 박스 하나가 자신의 색을 바꿔 가면서 이동을 해가면서 원위치로 돌아가는것 보이시죠? 저것이 바로 animate()입니다.

그럼 animate()에 대해서 공부해 봅시다.

jQuery

$('.hello').animate({
  top:100,
  left:200
});

위의 소스는 어떤 특정 요소를 아래로 이동시키는 소스 입니다.

HTML

<div class="hello"></div>

CSS

.hello{width:100px; height:50px; background:pink; position:absolute; top:50px; left:50px}

위와 같이 코딩을 하면 아래의 소스가 되겠죠? 웹에서 보기 버튼을 눌러서 결과를 확인 해보시기 바랍니다.

Source

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>제이쿼리</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js" ></script>
<script type="text/javascript">
$(function(){
  $('.hello').animate({
	 top:100,
   left:200
	});
});
</script>
<style type="text/css">
.hello{width:100px; height:50px; background:pink; position:absolute; top:50px; left:50px}
</style>
</head>
<body>
<div class="hello"></div>
</body>
</html>

시간 조정 하기

$('.class_Name').animate({
},시간값);

위의 예제에 시간값을 5초로 설정하여 넣어 본다면

$('.hello').animate({
  top:100,
  left:200
},5000);

아래 소스를 테스트 해보도록 하자

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>제이쿼리</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js" ></script>
<script type="text/javascript">
$(function(){
  $('.hello').animate({
    top:100,
  	left:200
  },5000);
});
</script>
<style type="text/css">
.hello{width:100px; height:50px; background:pink; position:absolute; top:50px; left:50px}
</style>
</head>
<body>
<div class="hello"></div>
</body>
</html>

위치한 좌표까지 도달하는데 5초가 소요된다.

이걸 응용하여 어려가지 자신이 원하는 것을 만들 수 있다.

그러면 위의 소스에서 저렇게 이동을 한 후에 다시 무언가가 발생하길 원한다면 어떻게 해야 할까?

다시 원위치 하는 것을 해보도록하자.

어떤 행위가 끝나고 이어서 다른 행위를 시작하기

function(){};

이부분을 animate({});의 {}가 끝난후에 넣어 준다.
단, function(){}의 앞에 ,을 넣어준다.

animate({

 },function(){

 };
});

그리고 어떠한 행위를 function(){};의 {}안에 넣어준다.

$('.hello').animate({
  top:50,
  left:50
});

위의 소스를 적용해본다면

$('.class_Name').animate({
  },function(){
    $('.hello').animate({
      top:50,
      left:50
      });
  };
);

그럼 실제 적용 해보도록 하자

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>제이쿼리</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js" ></script>
<script type="text/javascript">
$(function(){
$('.hello').animate({
top:100,
left:200
},function(){
$('.hello').animate({
top:50,
left:50
});
});
});
</script>
<style type="text/css">
.hello{width:100px; height:50px; background:pink; position:absolute; top:50px; left:50px}
</style>
</head>
<body>
<div class="hello"></div>
</body>
</html>

이렇게 응용하면 이 강좌 제일 위에 위치한 핫핑크색의 박스의 움직임도 구현할 수 있다.

이걸로 애니메이션효과에 대한 강좌를 마치겠습니다.

강좌로 돌아가기