본문 바로가기

Skills/Web

jQuery & CSS3 & HTML5 - 슬라이드(Slider)

SMALL

jQuery  & CSS3  &  HTML5 - 슬라이드(Slider)

 

[HTML + CSS]

소스

 <!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<style type="text/css">

body { width:900px; margin:0px auto; }

img { width:400px; height:300px; }

</style>

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.js"></script>

<script type="text/javascript">

$(document).ready(function () {

 

});

</script>

</head>

<body>

<h2>Slider</h2>

<hr />

<section id="outerSection">

<section id="innerSection">

<article><img src="2013-2-15.gif"></article>

<article><img src="2013-2-22.gif"></article>

<article><img src="2013-3-11.jpg"></article>

<article><img src="2013-3-15.jpg"></article>

<article><img src="2013-3-22.jpg"></article>

</section>

</section>

</body>

</html>


<section> 태그에 id 를 부여하였습니다. 그리고 CSS 부분 <style> 태그는 가운데 정렬 해주고 이미지의 크기를 한정해주었습니다.

그리고 <img> 태그의 src="" 경로는 아래 처럼 넣어주셔서 사용해주시면 됩니다.


 

 


결과







<style> 을 더 주어보겠습니다.





결과.


 

 

 

모든 그림들이 한 곳으로 겹쳐있는 것 입니다.

 


 

 


 

article 를 왼쪽으로 분여줌으로 써 수평으로 정렬하였습니다.

 

 

이제 간단한 버튼을 만들어줌으로써 구현을 해보겠습니다.

 


 

LeftArrow 와 rightArrow 를 Click 할 경우 toLeftButtonClick() 와 toRightButtonClick() 함수를 호출합니다.

 

 


 

numberOfArticle 이라는 변수를 만들어 article의 갯수 만큼을 넣어줍니다. "article"을 하면 article의 배열이 만들어지고 그 크기를 빼서 넣어주었습니다.

 

그리고 현재 위치를 저장할 수 있는 currentPosition 을 만들고 이어서 articleAnimation()이라는 함수를 만들었습니다.

currentPosition이 막 원래 크기를 증가하면 안되기 때문에, 다음과 같은 조건(if)를 주었습니다. 조건이 발동하면 currentPosition 값이 0으로 돌아갑니다.

 

articleAnimation()에 wiillMove 에 400 *  (-currentPosition) 만큼 이동하는 함수를 만들었습니다.

그리고 "#innerSection" 에 animate 메소드를 willMove 만큼 slow 하게 이동하게 해주었습니다.

 

그리고 마지막으로 <style>를 주겠습니다.


 

 

 

결과.








검은색 블럭을 클릭하면 슬라이드가 동작하는걸 확인하실 수 있습니다.

 

LIST