happy cat image

everdevel

우리 모두의 웹 입문, 에버디벨

UI 변경
오늘도 방문해 주셔서 감사합니다.
여러분이 매일 찾아주셔서 하루 5명 오는 사이트에서 1000명이 오는 사이트로 커갈 수 있었습니다.
드디어 2017년 8월 25일 에버디벨 책이 [웹코딩 시작하기]라는 제목으로 정말 출간 합니다.
정말 열심히 최선을 다해 많은 조사를 하며 작성했습니다. ^-^*
에버디벨은 제가 프로그래머가 아닌 시절 만든 사이트지만, [웹코딩 시작하기]는 저의 2년간의 프로그래머 경력을
살려서 꼭 알아야 한다고 생각하는 것들을 최대한 쉽게 설명하여 만들었습니다.
[웹코딩 시작하기]서평 이벤트도 시작했습니다.
[웹코딩 시작하기 서평 이벤트 많은 참여 부탁드립니다. ^-^* 눌러주세요.]

- 2017.8.5 에버디벨 운영자

애니메이션 효과

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>

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

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

강좌로 돌아가기